当前位置: 首页 > 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.pierceye.com/news/74699/

相关文章:

  • 株洲seo网站优化佛山制作
  • 网站开发属于在手机上开发app
  • 深圳网站开发公司宝网拼多多一件代发货源app
  • 建网站用什么软件好免费域名怎么做网站
  • 大理网站制作公司如何查看网站服务器
  • 一个主机可以做几个网站iis 网站文件被占用
  • 网站制作公司优势横沥建设网站
  • 单位网站建设流程大连做网站企业
  • 无锡网站排名系统苏州it外包服务
  • 网站视频外链怎么做拍摄宣传片费用明细
  • seo优化一般多少钱成都网站搜索优化
  • 免费好用的网站php创建网页
  • 中国写作网广东seo推广软件
  • 游戏网站开发过程wordpress 菜单怎么使用
  • 连连跨境电商网站开发网页升级中永久跳转
  • 美食网站开发毕业设计快速的宝安网站建设
  • python网站开发招聘购买软件平台
  • lnmp搭建网站绵阳的网站建设公司哪家好
  • 喜欢网站建设学什么专业科技新闻最新消息10条
  • 手机网站地址重庆编程培训机构
  • 开通网站的请示百度 网站建设
  • 如何做本地网站网站建设制作做网站优化推广公司
  • 做网站汉中做优化网站能以量取胜么
  • 查询网站服务器地址广西建设厅网站招 标 信 息
  • 企业云网站建设怎么用linux做网站服务器
  • 资源型网站建设 需要多大硬盘网站开发工程师自学
  • 金融产品做网站推广合肥建筑网站大全
  • dedecms物流企业网站模板(适合快递南京网站开发就业培训课程
  • 东莞智通人才网官方网站怎样在平台上发布信息推广
  • 网站改版公司山西省住房城乡建设厅网站