当前位置: 首页 > news >正文

网站微营销公司哪家好重庆建设工程施工安全网

网站微营销公司哪家好,重庆建设工程施工安全网,百度外推排名代做,网址之家123上网主页[js] flash如何与js交互#xff1f; 当Flash置于HTML容器中时#xff0c;经常会遇到AS与JS的通信问题#xff0c;例如#xff1a;JS能否调用AS中的变量、方法#xff0c;AS能否调用JS中的变量、方法等等。答案是肯定的。随着技术的不断发展#xff0c;解决方案也是多种多…[js] flash如何与js交互 当Flash置于HTML容器中时经常会遇到AS与JS的通信问题例如JS能否调用AS中的变量、方法AS能否调用JS中的变量、方法等等。答案是肯定的。随着技术的不断发展解决方案也是多种多样的。 在我总结的HTML与FLASH之间的“静态”传值一文中提到了JS使用SetVariable方法来设置FLASH中的变量kinglong认为此法已经过时。对此我表示同意但上文重点毕竟不是在讨论JS与AS的通信因此另外对AS与JS通信做一个个人总结欢迎大家讨论。 实现JS跟AS的通信目前可选方法比较多但早期的方法在使用便捷和功能上都不是很完美下面做一简要说明一、getURL  getURL(javascript:history.go(-1));通过URL协议来访问页面中的javascript上面控制浏览器历史的代码很眼熟吧诸如此类我们平时在定制页面收藏发送邮件时都会经常使用这种方式。虽然你也可以调用页面中自己定义的JS函数但我个人认为局限性还是比较大函数的参数传递并不是很灵活无返回值而且只能实现AS调用JS反之不行。二、fscommand命令 使用fscommand来调用AS定义的方法也是一个很常用的方式但我们需要在HTML页面中定义一个具有规定格式的myFlash_DoFSCommand函数首先定义这个函数我个人就觉得麻烦而且也只能实现AS调用JS无函数返回值。三、SetVariable   上面两种方法都只能实现AS调用JS而SetVariable恰恰相反只要我们稍微做下处理他就可以帮我们变相调用AS中的方法。大概思路如下AS中设置一个状态变量并使用Object的watch方法对其监视JS通过SetVariable来修改这个状态变量一旦侦测到了变量的改变那就可以根据不同的状态值来选择执行AS中的相应函数了。如果需要考虑用户的低版本播放器那么你可以考虑下该方法个人认为还是比较灵活的。可以看出上面的这些做法都有一定的局限性所以在我们的应用中很多时候都不得不将他们结合使用。而下面我要具体介绍的就是 ExternalInterface的做法通过它你能轻松实现AS与JS的双向方法调用从而也解决了双向的变量访问详细介绍可参见FLASH帮助文档和Adobe的官方教程下面用两个简单例子来说明ExternalInterface的使用。一、AS调用JS的方法(实例演示)Flash中代码 //导入包 import flash.external.*; get_btn.onRelease function(){ //调用页面中的JS函数 var temp_str String(ExternalInterface.call(say, Hello,World)); result_txt.text temp_str; } Html中代码function say(txt){ return txt; }没错就这么简单JS函数定义没有任何要求AS中使用call方法直接调用就可以了。二、JS调用AS的方法(实例演示)FLASH中代码//导入包 import flash.external.*; //提供JS访问的函数名 var _method:String say; //指定本地函数中this变量的作用域可设置为null留空 var e_area:Object null; //AS内部函数名 var method:Function say; //将函数注册到容器列表 var wasSuccessful:Boolean ExternalInterface.addCallback(_method, e_area, method); //查看注册是否成功 if(wasSuccessful){ result_txt.text 函数注册成功; } //本地的函数 function say(txt:String) { result_txt.text txt; } Html中代码div form input typebutton οnclickcallExternalInterface() valueJS调用AS方法 / /form script function callExternalInterface() { thisMovie(demo).say(Hello,World); } //浏览器兼容访问DOM function thisMovie(movieName) { if (navigator.appName.indexOf(Microsoft) ! -1) { return window[movieName] } else { return document[movieName] } } /script /div 其中红色代码是核心代码其作用原理是AS端通过addCallback函数把AS内部定义的方法注册为可从容器中调用允许自定义另外一个方法名供 JS来调用这个方法函数调用成功返回true失败返回flase在此例中通过wasSuccessful变量来判断函数是否注册成功。函数注册成功以后JS可以通过DOM来访问SWF对象然后直接调用预定义的方法即可。通过比较可以看出使用ExternalInterface来完成AS和JS的通信代码可以更简洁更清晰功能也更强大不过还有些细节你需要了解需要使用8.0以上的播放器对于调用的JS函数不能使用递归同时安全域限制也必须在考虑之中。个人简介 我是歌谣欢迎和大家一起交流前后端知识。放弃很容易 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题
http://www.zqtcl.cn/news/74699/

相关文章:

  • 推广网站的方法有搜索引擎dw网页设计作品 成品
  • 音乐网站开发环境描述招商引资平台有哪些
  • 在什么文件中加入什么代码告诉搜索引擎蜘蛛网站地图的文件位置?sae wordpress 域名
  • 需要前置审批的网站全屏背景网站如何做到自适应
  • 济南金融行业网站开发软件外包业务
  • 手机网站用什么制作安庆网站建设价格
  • 网站建设销售简历系统更新
  • 怎样让百度收取我的网站外部asp网站 asp 内容
  • 西峡网站开发腾讯云服务器用户名
  • entware ng wordpress合肥百度关键词优化
  • 滁州网站建设梦天堂东营企业网站排名优化
  • 数据库网站建设软件怎么去建设微信网站
  • 广州市官网网站建设价格手机怎么编辑网页
  • 网站seo方案策划书汽车4s网站设计
  • 模板网站和定制网站影响排名建设一个网站大概需要多少钱
  • 手机网站案列wordpress加载不出图
  • 柳州网站制作推荐高安建站公司
  • 个人做网站需要学什么只是中国电子商务官网首页
  • 太原网站优化网站如何能让百度收录
  • 佛山seo网站网站续费合同
  • 专业的餐饮网站建设提供营销网站建设公司
  • 廊坊市建设局网站如何建立一个网站平台网站
  • wordpress 搬家 域名seo排名方案
  • 佛山高明网站建设设计做仿网站的书
  • 网站建设5个why快速seo排名优化
  • 网上书城网站开发百度装修网站
  • 微信公众号授权给网站网站的设计方案在哪里
  • 网站建设课程设计实验报告开封seo推广
  • 设计师培训 网站电子商务主要课程
  • 公司网站内容相近网站主流系统