【问题标题】:Call JavaScript function within ActionScript在 ActionScript 中调用 JavaScript 函数
【发布时间】:2011-03-05 22:36:44
【问题描述】:

我不熟悉 ActionScript,并且由于某种原因,以下代码无法运行,尽管在教程中这样提到:

class Dummy {

  function Dummy() {
  }

  static function main(mc) {

    getURL("javascript:alert('works!')");
  }

}

我使用“mtasc”编译脚本。

【问题讨论】:

  • 我发现这个例子只能嵌入在真正的 http 服务器上运行的 html 文件中。有谁知道为什么?
  • 我用过:mtasc.exe -swf dummy.swf -main dummy.as
  • 请有人关闭此帖子:由于安全限制,禁止在本地执行 .swf 文件。如需更多信息,请访问 Adob​​e 网站。
  • @Mike ...这是您的帖子,您可以在本地执行 swf 文件。至于为什么它只在嵌入 html 时才起作用是因为 flash 不理解 javascript 的语法。 getURL 期望使用浏览器。 adobe.com/support/flash/action_scripts/actionscript_dictionary/…
  • @Mike Dooley 这是因为 getURL 是由主机应用程序执行的(嵌入了 Flash plyer)。如果您在独立的 Flash Player 中,它不支持 JS,因此 URL 将不起作用。如果您的浏览器打开一个本地文件,mybe 出于安全原因它可以阻止 getURL。

标签: javascript actionscript


【解决方案1】:

当您在页面中嵌入 Flash 文件时,您是否设置了 allowscriptaccess="true"

很喜欢:

<embed src="flash.swf" allowscriptaccess="true"></embed>

【讨论】:

    【解决方案2】:

    您是否为您的 Flash 文件指定了一个文档类?您实际上并没有在上面的代码中的任何地方调用调用您的 javascript 的函数。如果您将“getURL”行放入函数 Dummy 并指定 Dummy 作为您的文档类,您的代码将执行。否则,在 dummy 中调用 main()。另外请注意,目前没有理由将 (mc) 作为该函数中的传递参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 2015-08-31
      相关资源
      最近更新 更多