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 编辑器,但这段代码并没有像我希望的那样工作。我希望它在有人点击“确定”两次后将我重定向到谷歌,但它似乎不起作用。有人可以帮我吗?

4

1 回答 1

2

问题是 Try-It Editor 使用的是 IFrame。当我在 Chrome 中尝试并打开我的开发者控制台时,我收到以下错误:

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

这是因为您的代码试图做的是更改当前框架的位置,而不是整个页面。

您可以做以下三件事之一:

  • 在 IFrame 之外尝试你的 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 回答