0

基本的に、XMLHttpRequest を使用せずにコンテンツをフォームに自動的に POST したいと考えています。

サイトは問題なく動作しますが、ブラウザーの [戻る] ボタンをクリックしてページに戻ると、ブラウザーの履歴に問題があります。

私のサイトは次のようになります。

<!DOCTYPE html>
<html>
<head runat="server">
    <title>History Problem</title>
    <script>
        window.onload = function () {
            try {
                if ("<%= Request.Form["hiddenField1"] == null %>" == "True") {
                    var theForm = document.getElementById("myForm");
                    var theIframe = document.createElement('iframe');                    
                    theIframe.id = theIframe.name = "myIframe";             
                    document.body.appendChild(theIframe);
                    theForm.hiddenField1.value = "SomeValue";
                    theForm.submit();
                }
            }
            catch (e) {
                var x = e;
            }
        };

        window.onunload = function () { };


    </script>
</head>
<body>
    <form runat="server" id="myForm" action="" target="myIframe" method="post">
    <input type="hidden" id="hiddenField1" name="hiddenField1" />
    </form>
    <br />
    <a href="http://www.google.com">External Link</a>
</body>
</html>

トレースは、GET および POST 要求があることを示しています。これまでのところすべて問題ありません。しかし、「外部リンク」(google.com) をクリックしてサイトに戻ると、テスト サイトの 2 つの履歴エントリが表示されます。また、google.com の履歴エントリがなくなったようです。

これは、Internet Explorer でのみ発生します。

何か案は?

4

0 に答える 0