代码之家  ›  专栏  ›  技术社区  ›  back2dos

在Safari中使用外部接口从AS3打开弹出窗口

  •  1
  • back2dos  · 技术社区  · 15 年前

    我用这个代码打开一个弹出窗口

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

    对于javascript用户 打电话 ExternalInterface.call(string); 从Flash播放器让浏览器 eval(string)();

    由于这个调用是在一个点击处理程序中进行的,它甚至可以与firefox和ie完美配合,对于opera,它可以让您手动打开弹出窗口。 但是在狩猎中,它总是被阻挡 默默地 . 有人知道怎么规避这个吗?

    谢谢

    后台操作系统

    2 回复  |  直到 15 年前
        1
  •  2
  •   Cay    15 年前

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

        2
  •  1
  •   M. Ryan    15 年前

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

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