1

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

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

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

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

谢谢

back2dos

4

2 回答 2

2

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

于 2009-11-20T13:57:58.677 回答
1

你不应该在 AS3 中创建你的函数。这可能是你行为不端的原因之一。

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

于 2009-11-20T14:01:42.330 回答