• javascript和swf在网页中交互的一些总结


    Javascript和swf在网页中交互一般可有以下几种情况:

    1.swf和这些调用的javascript在同域

    2.swf和这些调用的javascript在不同域,比如加载远程的swf然后call别地方的服务

    对于swf跨域call服务的问题,可同过crossdomain.xml配置解决。

    但对于加载远程的swf,默认情况下,根本不能将里面的方法成功注册为向javascript公开的方法,一般会报此类错误:

    a) SecurityError: Error #2060: 安全沙箱冲突:ExternalInterface ,调用者 remote.com/test.swf(所加载的远程swf) 不能访问 127.0.0.1(本机的一个服务)

    at flash.external::ExternalInterface$/_initJS()
    at flash.external::ExternalInterface$/addCallback()

       ...

    b) 错误: uncaught exception: Error calling method on NPObject! [plugin exception: Error in Actionscript. Use a try/catch block to find error.]

    解决办法

    对于a错误,是因为远程的swf加载到本地后没有权限去访问当前html文档,对于这个我们只需要在输出swf的时候设置 allowScriptAccess 属性,一般设置为always.即可解决。

    对于b错误,是因为默认actionscript中不允许向将方法注册到不同域的 html文档中, 对于这个我们只需要在as中加一下代码即可解决:

    import flash.system.Security;

    Security.allowDomain("*");
    Security.allowInsecureDomain("*");

  • 相关阅读:
    Linux下搭建socks5代理
    在vs2005 使用FreeTextBox
    毕业了!!
    ASP.net 2.0上传图片方法
    再网页中,怎么用VS2005中的日历空件输入日期格式!
    毕业设计!!
    学校终于放假了,今天就可以回家了!
    求职!本人是07届刚毕业的学生!求程序员
    libcurl教程(转)
    spring boot集成swagger3
  • 原文地址:https://www.cnblogs.com/weekend001/p/3631349.html
Copyright © 2020-2023  润新知