-1

この質問が何度も寄せられていることは承知していますが、google や stackoverflow を検索してさまざまな試みを行っても、問題の解決策が見つかりません。

ここに私のJSがあります:

    function Redirect(id)
    {
        window.open("go.php?id=" + id, "_blank");
    }

    function LinkPop(id)
    {           
        xmlObj = new XMLHttpRequest();
        xmlObj.open("GET", "pop.php?id=" + id, false);
        xmlObj.send();

        document.getElementById(id).style.fontSize = xmlObj.responseText + "px";
        document.getElementById(id).title = "Clicked " + (xmlObj.responseText - 18) + " times";

        window.setTimeout(function(){Redirect(id);}, 2000);
    }

2 秒の遅延と新しいページの開始を除いて、すべてが機能します。ご覧のとおり、私は役に立たなかった閉鎖を試みました。私は非常に基本的なことを見逃していると思います...

助けてくれてありがとう。

4

1 に答える 1

1

ポップアップ ウィンドウを開こうとしています。過去にこの機能が乱用されたため、最近のすべてのブラウザーにはポップアップ ブロッカーがあり、制限された状況を除き、ポップアップ ブロッカーを使用することはできません。

特に、ブラウザーは通常、Web ページとの対話 (クリックなど) に直接応答する場合にのみポップアップを許可します。タイムアウト イベントは、以前のインタラクションに応答して起動されたとしてもインタラクションではないため、デフォルト設定のウィンドウを開くことはできません。

ポップアップはすぐに開くことができます (ポップアンダーとして開き、後でフォーカスを合わせて前面に移動することもできますが、これは常に信頼できるとは限りません)。または、おそらくポップアップを忘れて、現在のページで単純なリダイレクトを行う方がよいでしょう。

于 2012-07-07T14:42:44.050 に答える