7

IEでデバッグすることで、それを注意深く観察しました。document.referrerフォームを送信するかリンクをクリックするとIEが設定されましたがjavascript window.locationIE did not set document.referrerを使用して別のページにリダイレクトすると。

4

5 に答える 5

7

情報:セキュリティで保護されていない状況では、InternetExplorerはリファラーヘッダーを送信しません

Internet Explorer 4.0以降で1つのドキュメントから別のドキュメントにリンクする場合、HTTPSページから非HTTPSページへのリンクの場合、Refererヘッダーは送信されません。リンクがfile://などの非HTTP(S)プロトコルから別のページにある場合も、Refererヘッダーは送信されません。

マイクロソフト

于 2014-03-01T06:29:04.640 に答える
6

これを試して

<script type="text/javascript" >            
function redirect(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
</script>

ソース

于 2012-12-03T10:22:34.450 に答える
1

ポップアップで送信しようとしたり、window.locationを使用したりしている間、IEはリファラーをサポートしていません。リファラーはさまざまな方法で送信できます。ただし、IEの組み込みのセキュリティ問題のために、JSポップアップを使用して場所を変更したり、IEの使用中にJSで場所を変更したりする場合に、サーバー側で取得しようとすると、この機能はありません。windowまたはwindow.openプロパティを確認してください。ここに行くことができます

于 2012-12-03T10:23:26.153 に答える
1

最も簡単な解決策は、window.opener.location.hrefを使用できることです。これは、すべてのブラウザーで正常に機能します。

于 2013-06-25T15:00:43.807 に答える
-1

これを試して:

<script type="text/javascript">
$("#button").click(function(){

        window.open("about:blank", "win_name", "height=370,width=365, top=50, left=90, scrollbars=yes,resizable=no,menubar=no");
        sForm = '<form action="url.php" method="post" target="win_name">';
        sForm += '</form>';
        //alert(sForm);return;
        $(sForm).appendTo('body').submit();
        return;

     });
</script>
于 2015-05-20T05:19:32.900 に答える