【问题标题】:window.navigate works only in Internet Explorerwindow.navigate 仅适用于 Internet Explorer
【发布时间】:2015-05-01 19:59:05
【问题描述】:

我可以使用window.open("http://www.example.com", "_self"); 浏览网页,它适用于所有浏览器。

但是当我使用以下代码时:

function f1()
{
    window.navigate("http://www.example.com");
}

它仅适用于 Internet Explorer。它不适用于 Firefox 或其他浏览器。为什么?我该如何解决这个问题?

这是我的 HTML 代码:

<input id="Button1" type="button" value="Try" onclick="f1()" />

【问题讨论】:

  • 这与jQuery无关。那是纯 JavaScript。
  • 那里根本没有 jQuery。

标签: javascript


【解决方案1】:

window.navigate 是非标准 Internet Explorer 功能。其他浏览器根本不提供该功能。

你可以用:

if (! window.navigate) {
    window.navigate = function (arg) {
        location.assign(arg);
    }
} 

...但是如果您首先将代码重写为使用标准方法(即location 对象)会更好。

【讨论】:

  • window.open() 是标准方法吗?
  • @aliboy38 MDN 是 JavaScript 的一个很好的参考,大多数页面都包含浏览器支持和相关规​​范的链接。 window.open 没有最好的信息,但它仍然告诉你哪些浏览器支持它的每个功能:developer.mozilla.org/en-US/docs/Web/API/Window/open
【解决方案2】:

这很容易成为您问题的答案。您缺少 href。

window.location.href = 'URL';

回答: Should I use window.navigate or document.location in JavaScript?

编辑:

嗯,是抄错地方了。

可能重复:

button javascript works on IE but not firefox window.navigate()

回答

如果您查看该方法的文档,您会看到很常见的:

没有适用于此方法的公共标准。

【讨论】:

  • 您在谈论另一种方法。我的问题是关于如何解决这个问题以及为什么会发生这种情况的另一种方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2013-07-25
  • 1970-01-01
相关资源
最近更新 更多