0

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

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

为什么它不起作用?

4

1 回答 1

0

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

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

有两种解决方案:

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

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

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

使其在 Chrome 中工作:

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

  1. 在 Chrome 的地址栏中输入“chrome://plugins/”。
  2. 您应该看到两个“Shockwave Flash”插件。停用类型为“PPAPI”的那个,并确保激活类型为“NPAPI”的那个。
  3. 完毕!
于 2013-09-01T15:59:09.847 回答