【问题标题】:Why won't window.location load a new page?为什么 window.location 不会加载新页面?
【发布时间】:2011-10-09 12:07:27
【问题描述】:

这段代码以前可以工作,现在不行了:

var url = myurl +'?id=' + id + '&phase=' + phase;
window.location = url;

使用 IE 开发工具栏,我已验证 url 具有有效的 url,window.location 返回新的 url...唯一的问题是页面没有重新加载。

有谁知道 window.location 现在在分配新文档时实际加载新文档的任何原因?

【问题讨论】:

  • 是的,尝试手动打印 URL 并查看它实际包含的内容。
  • 对于我的问题,它是我系统中的另一个 url。
  • 也不适用于“www.google.com”
  • 试试 document.location 你会看到结果
  • 你确定代码真的在执行吗?让它在此之前弹出警报或其他什么,并确保也没有错误

标签: javascript html url redirect window.location


【解决方案1】:

请改用window.location.href = url;

【讨论】:

  • 没有 javascript 错误。这以前对我有用,但我不确定是什么改变导致它停止。
  • “这对我有用,但我不确定发生了什么变化......” - 找出发生了什么变化。我猜这不是这段代码。
【解决方案2】:

您的 JavaScript 是否从 type="button" 或 type="submit" 运行 onclick 事件?

如果您的按钮是 type="submit",除非您停止执行提交,否则它将不起作用。

我知道这很明显,但我在其他 cmets 中没有看到这一点,所以我可能会添加到这个线程中。

【讨论】:

    【解决方案3】:

    所以我今天也遇到了同样的错误,由于某种原因,我无法将我的页面重定向到谷歌(仅用于测试目的)。直接从另一个站点复制代码并且它可以工作,所以我再次尝试了 google.com - 低并且看它没有工作......

    我还应该提到我正在尝试重定向 iframe 中的页面,而不是整个网页。

    所以我启动了我信任的 Max's HTML Beauty++ 2004 并在其中打开了我的页面,果然它给了我错误:

    此内容不能在框架中显示

     To help protect the security of information you enter into this  
     website, the publisher of this content does not allow it to be
     displayed in a frame.
    

    我用来获取的代码:

    window.location = "http://www.google.com";  
    

    看起来浏览器没有显示这个错误,而是他们只是不重定向你......有点令人困惑:/

    【讨论】:

      【解决方案4】:

      我使用的是 jquery,并且出现了类似的问题,我必须通过将 data-ajax=false 属性添加到 <a href="... 链接来解决它。

      【讨论】:

        【解决方案5】:

        感谢@Senad Meskin

        document.location = url;
        

        为我工作。窗口停止工作的任何原因?

        【讨论】:

        • 不,但是 document.location 也不是跨浏览器,因为它最初是只读的。您可能不会遇到任何问题,但您可能想进一步研究它为什么没有运行。
        猜你喜欢
        • 1970-01-01
        • 2013-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-03
        • 1970-01-01
        • 1970-01-01
        • 2012-03-25
        相关资源
        最近更新 更多