1

このコードを使用してポップアップを開きます

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

JavaScript の人向けExternalInterface.call(string);: Flash Player から呼び出すと、ブラウザで実行できます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内で関数を作成するべきではありません。それはおそらくあなたが悪い行動をとっている理由の1つです。

HTMLまたはJSファイルで関数を作成し、EIで呼び出して、必要な引数を渡す必要があります。

于 2009-11-20T14:01:42.330 に答える