【问题标题】:Actionscript 3.0 calling Javascript not working?Actionscript 3.0 调用 Javascript 不起作用?
【发布时间】:2013-09-04 16:38:52
【问题描述】:

所以,我正在使用ExternalInterface.call("functionNameInJavascript");,但它不起作用...... 在 HTML 包装器中,我在两个地方都将 allowScriptAccess 设置为 always

<param name="allowScriptAccess" value="always" />

为什么它不起作用?

【问题讨论】:

  • 你在课堂上添加了import flash.external.*吗?
  • 能否展示 HTML 包装器中的 JavaScript 函数部分?
  • 您需要提供更多信息,以便我们更好地猜测问题。
  • 嗨,是的,我添加了 import flash.external.*; (实际上是导入 flash.external.ExternalInterface 但没关系) JavaScript 函数是这样的基本函数: function functionNameInJavascript() { alert("Hi"); }

标签: javascript html actionscript call external


【解决方案1】:

我猜您是在浏览器中本地运行 html 页面,而不是通过网络服务器? (在本地运行时,浏览器地址栏以“file:”开头)。

当 Flash Player 在这样的本地安全沙箱中运行时会有限制。

有两种解决方案:

  1. 通过网络服务器测试页面(您可以在计算机上设置本地服务器)
  2. 将 Flash Player 配置为在本地安全沙箱中运行时信任文件。

我只描述第二步。转到Global Security Settings Panel 页面。尽管它是网页上的一个面板,但它实际上是用于配置您计算机上安装的 Flash Player 中的设置,这可能有点令人困惑。

点击“编辑位置”,然后点击“添加位置”。输入您的 Flash 项目所在的文件夹,例如“C:\projects\flash\”。

让它在 Chrome 中工作:

全局安全设置面板仅影响您计算机上的 Flash Player 插件。如果您使用的是 Chrome,则此面板不会有任何效果,因为 Chrome 默认使用其内置的 Flash Player 版本。因此,您需要告诉 Chrome 不要使用内置版本,而是使用普通插件:

  1. 在 Chrome 的地址栏中输入“chrome://plugins/”。
  2. 您应该会看到两个“Shockwave Flash”插件。停用类型为“PPAPI”的那个,并确保启用类型为“NPAPI”的那个。
  3. 完成!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多