在Safari中使用ExternalInterface从AS3打开弹出窗口

时间:2009-11-20 12:53:43

标签: javascript actionscript-3 safari popup externalinterface

我正在使用此代码打开弹出窗口

ExternalInterface.call("function () { window.open('" + url + "','" + title + "','" + options + "'); }");

for JavaScript people :从Flash播放器调用ExternalInterface.call(string);让浏览器执行eval(string)();

由于此调用位于单击处理程序中,因此它甚至可以与Firefox和IE完美配合,对于Opera,它允许您手动打开弹出窗口。 但在Safari中,它总是被默默地阻止。任何人都知道如何绕过这个?

感谢

back2dos

2 个答案:

答案 0 :(得分:2)

我遇到了这个,据我所知,没有真正的解决方案......我能找到的唯一解决方法是检查window.open是否有效,以及是否不使用navigateToURL。 ..我刚刚发现这个链接可以更好地解释这个: http://www.asserttrue.com/articles/2007/08/22/workaround-for-safari-blocking-flash-initiated-pop-ups

答案 1 :(得分:1)

您不应该在AS3中创建您的功能。这可能是你行为不良的原因之一。

您应该在HTML或JS文件中创建函数并使用EI调用它,并传递您需要的参数。