0

Chrome 不想让我直接在 URL 栏中从 swf 文件访问 javascript(我知道这不是最佳实践,但这就是我想要完成的):

鉴于:

/file.swf?cmd=alert();

使用以下代码(片段):

flash.external.ExternalInterface.call("eval", cmd);

这仅适用于 Firefox,不适用于 Chrome。我采用这种方法是因为在 chrome 中运行 JS 的 actionscript 2 方法是使用 getURL("Javascript:....,但是这在 Chrome 中也不再适用。

有没有办法解决这个问题(通过直接在浏览器中调用文件而不是嵌入到页面中?) - 我有我的理由!

4

1 回答 1

1

尝试创建一个代理“eval”函数的自定义函数。在 JS 中试试这个...

function exec_code( $value ) {

    window.eval( $value );
}

...这在AS中。

var value:String = "[JavaScript Code to execute]";
if ( ExternalInterface.available ) ExternalInterface.call( 'exec_code', value );
于 2013-09-16T23:29:23.903 回答