3

ロードされるページと一緒に送信された POST 変数を使用して、投稿から Iframe にロードするページを取得しようとしています。新しいウィンドウを明示的に開いているものは何もありませんが、FF と Chrome でポップアップがブロックされたという通知が表示されます。IE はまだ POST をブロックしていませんが、おそらく将来の更新でブロックするでしょう。以下に、ポップアップをトリガーするコードを示します。

gamePage.name = 'game_page';
setTimeout('', 100);
gamePage.onload = setTimeout("$.download(getCompletePath() +'account/SomeFile.php',  gameId='+game_Id+'&playMode=J', 'post', 'game_page')", 0);

$.download 関数は次のとおりです。

jQuery.download = function(url, data, method, target){
    //url and data options required
    if( url && data ){ 
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : jQuery.param(data);
        //split params into form inputs
        var inputs = '';
        jQuery.each(data.split('&'), function(){ 
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
        });
        //send request
        jQuery('<form action="'+ url +'" method="'+ (method||'post') +'" target="' + target +'">'+inputs+'</form>')
        .appendTo('body').submit().remove();
    };
};

現在、このアクションは GET によって実行されていますが、可能であれば、すべてではないにしてもほとんどの GET リクエストを POST に切り替えています。iframe に POST するときにポップアップ ブロッカーを回避する方法についてのヘルプ ヘルプをいただければ幸いです。

4

1 に答える 1