flex与js交互浅析
1.flex调用js方法
调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type);
第一个是js方法名,后面几个是给这个js方法传的参数。这个方法必须在网页的js中注册,否则会调用失败。
需要注意的是调用之前需要检查网页的js是否已完成加载,用ExternalInterface.available可是判断。
注:这种调用方法是可以有返回值的,例如:var m:String = ExternalInterface.call(f,"New Title");
但是这个返回值不能有时延(例如js需要进行ajax操作),否则m=null。因为flex是异步的。
<mx:Script>
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import flash.external.*; public function callWrapper():void {
var f:String = "changeDocumentTitle";
var m:String = ExternalInterface.call(f,"New Title");
trace(m);
}
</mx:Script>
<mx:Button label="Change Document Title" click="callWrapper()"/>
</mx:Application>
Html页面中有如下函数定义:
<SCRIPT LANGUAGE="JavaScript">
function changeDocumentTitle(a) {
window.document.title=a;
return "successful";
}
</SCRIPT>
2.js调用flex方法
js要调用flex方法,首先在flex中必须注册,将as方法注册为js可调用的方法。例如:ExternalInterface.addCallback("ConfirmGroup",ConfirmGroup);
第一个是js中调用时用的名称,第二个是as中定义的方法。
在ie浏览器中调用方法为: document.getElementById("mapContent").ConfirmGroup(1);
mapContent为flash的id。
注:它也是可以有返回值的。
示例:
AS:
<mx:Script>
import flash.external.*;
public function myFunc():Number {
return 42;
}
public function initApp():void {
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
</mx:Script>
JS:
<SCRIPT language='JavaScript' charset='utf-8'>
function callApp() {
var x = MyFlexApp.myFlexFunction();
alert(x);
}
</SCRIPT>
<button onclick="callApp()">Call App</button>
flex与js交互浅析的更多相关文章
- 关于FlexPaper 2.1.2版本 二次开发 Logo 、打印、搜索、缩略图、添加按钮、js交互、右键菜单、书签等相关问题
2015-03-02 更新文章,由于需求修改,更改了flexpaper插件,故增加第9.10.11小节,下载代码时请注意. 先废话几句.最近用到文档在线浏览功能,之前用的是print2flash(一个 ...
- 如何做好Flex与Java交互
三种flex4与Java顺利通信的方式是: flex与普通java类通信RemoteObject; flex与服务器交互HTTPService; flex与webservice交互WebService ...
- UIWebView和WKWebView的使用及js交互
UIWebView和WKWebView的使用及js交互 web页面和app直接的交互是很常见的东西,之前尝试过flex和js的相互调用以及android和js的相互调用,却只有ios没试过,据说比较复 ...
- 关于JS交互--调用h5页面,点击页面的按钮,分享到微信朋友圈,好友
关于js交互,在iOS中自然就想到了调用代理方法 另外就是下面的,直接上代码了: 如果你的后台需要知道你的分享结果,那么,就在回调里面调用上传到服务器结果的请求即可
- webView和js交互
与 js 交互 OC 调用 JS // 执行 js - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [web ...
- 李洪强iOS经典面试题147-WebView与JS交互
李洪强iOS经典面试题147-WebView与JS交互 WebView与JS交互 iOS中调用HTML 1. 加载网页 NSURL *url = [[NSBundle mainBundle] UR ...
- WebView---Android与js交互实例
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true 原文地址:http://blog.csdn.net/it10 ...
- iOS与JS交互实战篇(ObjC版)
前言 ObjectiveC与Js交互是常见的需求,可对于新手或者所谓的高手而言,其实并不是那么简单明了.这里只介绍iOS7.0后出来的JavaScriptCore framework. 关于JavaS ...
- Android WebView加载本地html并实现Java与JS交互
最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...
随机推荐
- Android注解支持(Support Annotations) (转)
原文地址:http://www.flysnow.org/2015/08/13/android-tech-docs-support-annotations.html 注解支持(Support Annot ...
- 如何简单的实现一个tab页title的动画效果
首先我们来看看实现的效果 tab上的title沉下去的效果 先来看看布局 <?xml version="1.0" encoding="utf-8"?> ...
- C语言基础知识【基本语法】
C 基本语法1.C 的令牌(Tokens)C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.2.分号 ;在 C 程序中,分号是语句结束符.也就是说,每个语句必须以分号结 ...
- SecureCRT的Home+End+Del键映射
在securecrt界面:工具 → 键映射编辑器,在弹出的键盘中: 1.点击“home”,会弹出一个窗口,在“发送字符串”中输入:\033[1~ 2.点击“end”,会弹出一个窗口,在“发送字符串”中 ...
- 怎样过滤跨站恶意脚本攻击(XSS)
什么是XSS? XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用 ...
- 九度OJ 1350:二叉树的深度 (二叉树)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1044 解决:614 题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长 ...
- spring boot ajax post 前后端
1 传输的数据格式是json 1.1 前端ajax json的所有的key都必须是双引号引用的,并且最外层也要用双引号引用.例如 "{"a":b, "b&quo ...
- OC常用函数及变量
1.OC常用的的函数及变量 (1)算术函数 [算术函数] 函数名 说明 int rand() 随机数生成.(例)srand(time(nil)); //随机数初期化int val = rand()P; ...
- iOS系统层次架构
本文转自:http://blog.csdn.net/lxl_815520/article/details/51172917 一,概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS la ...
- SAP后台作业记录操作
[转http://blog.163.com/liang_ce_521@126/blog/static/709202152013073376596/]后台作业信息存储在透明表TBTCP(批作业步骤概述) ...