【问题标题】:JavaScript redirection issue on Google ChromeGoogle Chrome 上的 JavaScript 重定向问题
【发布时间】:2011-06-09 15:22:29
【问题描述】:

我在一个 html 页面上有以下代码:

<script type="text/javascript">
<!--
    window.location.replace("http://www.example.com/");
-->
</script>

<meta http-equiv="refresh" content="0;url=http://www.example.com/" >

在 Google Chrome 上,它会加载此页面,然后重定向到 example.com,而在我测试过的其他浏览器(IE 和 Firefox)上,它不会加载此 HTML 页面(此特定代码所在的页面),但直接显示example.com

谁能告诉我我的代码有什么问题以及任何建议来改进它,以便它也可以在 Google Chrome 上运行。

谢谢

【问题讨论】:

  • 问题是它没有被重定向还是什么?
  • 看,我们怎么知道真正的问题是什么? ;) 但我觉得 Chrome 比其他浏览器更正确地实现了这一点。无论如何都会加载包含此代码的页面。也许其他浏览器只是不呈现它。
  • 在我看来,使用 .replace() 方法进行页面转发是一种肮脏的方式。

标签: javascript google-chrome redirect


【解决方案1】:

试试

<script type="text/javascript">
<!--
    document.location="http://www.example.com/";
-->
</script>

【讨论】:

    【解决方案2】:

    试试这两种方法

    <script type="text/javascript">
        document.location="http://www.example.com/";
    </script>
    
    <script type="text/javascript">
        document.location.href="http://www.example.com/";
    </script>
    

    【讨论】:

      【解决方案3】:

      如果您像这样编写代码,也许它会按您的意愿工作:

      【讨论】:

        【解决方案4】:

        你试过用吗,

        window.location.href = "http://www.example.com/";
        

        根据文档,https://developer.mozilla.org/en/DOM/window.location#Properties

        【讨论】:

          【解决方案5】:

          在我的情况下,我重定向到同一页面,但在 url 的末尾设置了不同的#target。没有任何效果,包括之后返回 false,但修复了设置 URL 后重新加载页面的问题,如下所示(在此示例中,仅在 6 秒延迟后触发):

          setTimeout(function () {            
              window.location.href = redirectUrl;
              window.location.reload(true);
              return false; // maybe not needed...
          }, 6000);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-03-15
            • 1970-01-01
            • 1970-01-01
            • 2015-03-03
            • 2018-12-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多