1
<html>
    <head>
        <script type="text/javascript">
            function show_confirm(){
                var r=confirm("Hello or Goodbye?");
                if (r==true){
                    alert("Hello");
                    window.location.replace("http://www.google.com/");
                } else {
                    alert("Goodbye");
                }
            }
        </script>
    </head>
    <body>
        <input type="button" onclick="show_confirm()" value="Show a confirm box" />
    </body>
</html>

JavaScriptを学習していて、W3SchoolのTryit Editorを使用していますが、このコードは期待どおりに機能していませんでした。誰かが「OK」を2回押した後、Googleにリダイレクトしたいのですが、うまくいかないようです。誰かが私を助けることができますか?

4

1 に答える 1

2

問題は、Try-ItEditorがIFrameを使用していることです。Chromeで試して開発者コンソールを開くと、次のエラーが発生します。

Refused to display document because display forbidden by X-Frame-Options.

これは、コードが行おうとしているのは、ページ全体ではなく、現在のフレームの場所を変更するためです。

次の3つのいずれかを実行できます。

  • IFrameの外部でHTMLを試してみてください。そうすれば、HTMLを機能させることができます。
  • window.top.location.replace("http://www.google.com/");代わりに使用してみてくださいwindow.location
  • JavaScriptを使用してiframeの場所を変更する必要がある場合は、フレームの外側で変更するか、親ドキュメントと同じドメイン内にあることを確認する必要があります。(これは問題なく機能することに気付くでしょうwindow.location.replace("http://www.w3schools.com")。)
于 2012-04-12T01:17:58.813 に答える