在ActionScript中调用JavaScript函数

在ActionScript中调用JavaScript函数,javascript,actionscript,Javascript,Actionscript,我不熟悉ActionScript,出于某种原因,以下代码将无法工作,尽管在教程中提到过: class Dummy { function Dummy() { } static function main(mc) { getURL("javascript:alert('works!')"); } } 我使用“mtasc”来编译脚本。是否为flash文件指定了文档类?在上面的代码中,您实际上并没有调用调用javascript的函数。如果将“getURL”行放入函数Du

我不熟悉ActionScript,出于某种原因,以下代码将无法工作,尽管在教程中提到过:

class Dummy {

  function Dummy() {
  }

  static function main(mc) {

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

}

我使用“mtasc”来编译脚本。

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

当您将flash文件嵌入页面时,是否设置了allowscriptaccess=“true”

就像:

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


我发现这个示例只适用于嵌入在真正http服务器上运行的html文件中。有人知道为什么吗?我使用了:mtasc.exe-swf dummy.swf-main dummy.asp请关闭此帖子:由于安全限制,禁止在本地执行.swf文件。有关更多信息,请访问Adobe网站。@Mike…这是您的帖子,您可以在本地执行swf文件。至于为什么它只在嵌入html时才起作用,是因为flash不理解javascript的语法
getURL
需要与浏览器一起使用@Mike Dooley这是因为getURL是由主机应用程序执行的(whis嵌入了Flash plyer)。如果您使用的是standalon Flash播放器,它没有JS支持,因此URL将无法工作。如果您的浏览器将其打开为本地文件,出于安全原因,mybe可能会阻止getURL。