AS3和JS通信并调用qq空间分享界面
2015-07-31 10:58
453 查看
AS3和JS通信并调用QQ分享界面
1.在AS3页面中调用JS
AS3中通过使用ExternalInterface类来和JS进行通信:主要使用方法ExternalInterface.call();AS3代码片段:
if(ExternalInterface.available){ ExternalInterface.call("share"); }
上述代码中的share方法方在某个js文件中:qq.js(该文件需要加载到当前SWF应用环境中才能被AS3调用到)
2.在JS中调用AS3中的方法
首先要在JS访问到AS3的环境SWF:JS代码片段:
function getSwfInstance(pP) {//获取当前环境中的SWF(方便访问内部的方法) if (navigator.appName.indexOf("Microsoft") != -1) { return window[pP]; } else { return document[pP]; } }然后就可以在AS3中访问JS想调用的回调函数了
AS3代码片段:
if(ExternalInterface.available){ ExternalInterface.addCallback("refreshUser",function():void{//ExternalInterface类的addCallback函数是JS访问AS3方法 refreshUserShare(); }); }
下面在调用qq空间分享界面的例子中会说明上面代码片段中的refreshUser
3.qq空间调用分享界面JS回调
JS完整代码片段://获取到SWF环境 function getSwfInstance(pP) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[pP]; } else { return document[pP]; } } //AS3中调用JS中的share方法 function share() { fusion2.dialog.sendStory //qq空间平台分享界面调用函数 (具体可以在qq应用平台对接站了了解) ({ title :"游戏标题", img:"图片url", summary :"游戏描述+地址url", msg :"分享描述", button :"进入游戏", source :"ref=story&act=default", context:"分享成功", onShown : function (opt) {}, onSuccess : function (opt) { getSwfInstance("GameLoader").refreshUser();//成功分享到QQ空间后访问AS3中的refreshUser函数 }, onCancel : function (opt) {}, onClose : function (opt) {} }); }
相关文章推荐
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- EXTJs错误:Batch update returned unexpected row count from update [0]; actual row count: 0;
- 文章标题 JSP文件是否有必要放在WEB-INF下
- javascript常用正则表达式汇总
- javascript 数组去重的几种方法
- JS正则表达式验证数字非常全
- JS正则表达式验证数字非常全
- Json简介与转换数据例子
- JavaScript中的三种弹出对话框
- Javascript中this关键字详解
- avascript处理JSON数据格式
- JMeter中对于Json数据的处理方法
- Json
- js关闭窗口
- Ajax上传实现根据服务器端返回数据进行js处理的方法
- JS 获取xsl 的值有反斜杠处理
- 02_js中接口的定义和使用
- js、URL传递含有中文参数时的乱码问题解决
- js 使用闭包封装数据
- 图片上传是否为空,以及类型的js验证