• flash与js的通信


    搬运自http://blog.163.com/lijianwei_123/blog/static/18489289120103203514673/

    最近在做项目的过程中需要flash与js之间的互相调用,查找资料flash与js的通信有三中方法。 
    1.getURL("javascript:jsFunctionName()"); 
    getURL是flash的一个全局函数,作用是向浏览器发送一个请求。熟悉js的人一定知道,向浏览器 
    发送javascript:开头的请求,其实就是模拟了一个js的请求协议,浏览器会去在当前环境中找指 
    定的function。 
    这种方法在flash早期版本比较流行。 
    2.fscommand("command","arguments"); 
    fscommand的方法是flash中与播放器通讯的方法,通常向播放器,发送命令。 
    例如:fscommand("fullscreen",“true“);使播放器全屏显示。 
    由于在web页面中flash播放器也根js在同一环境下,所以可以通过播放器与js通讯。 
    “flashId”是播放器对象在web页面中的id名字,这里假设就是flashId。 
    当在as中调用fscommand命令时,播放器会在web环境中找名为: 
    flashId_DoFSCommand("command",arguments)的方法,参数与as中fscommand的参数相同。 
    这里可以根据command的不同调用不同的方法,在js里 
    如: 
    if(command=="alert"){ 
      alert(arguments); 

    3.flash8后提供了一个扩展类,可以执行对js和js对as的调用。 

    ExternalInterface.call("functionName",parameters); 
    functionName:js中的函数名称。 
    parameters:传过去的参数,用逗号隔开 
    简单的一句就可以实现对js方法的调用 

    同时这个类也可以实现js对as方法的调用,:) 
    ExternalInterface.addCallback('标识名',parent,Function); 
    这个方法就是把as中的一个function注册为一个“标识名”,让js可以通过这个标识调用 
    标识名:js中可以调用的名称 
    parent:方法运行环境也就是function中的this是谁。有一点像js中的call(parent,)或者apply(parent) 
    的感觉 
    funtion :as 中的一个方法名称,注意是Function对象,不是string型

  • 相关阅读:
    ASP.NET---创建自定义Web控件小结
    ASP.NET---使用Asp.NET开发三层架构的应用程序
    poj 1847 最短路简单题,dijkstra
    HDU 1102 最小生成树裸题,kruskal,prim
    poj 2239 二分图最大匹配,基础题(待补)
    HDU 1520 树形dp裸题
    HDU 2089 简单数位dp
    poj 3254 状压dp入门题
    HDU 1710 二叉树遍历,输入前、中序求后序
    Poj 3250 单调栈
  • 原文地址:https://www.cnblogs.com/dygfc/p/3675378.html
Copyright © 2020-2023  润新知