window.navigate 仅适用于 Internet Explorer

Posted

技术标签:

【中文标题】window.navigate 仅适用于 Internet Explorer【英文标题】:window.navigate works only in 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。 【参考方案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()

回答

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

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

【讨论】:

您在谈论另一种方法。我的问题是关于如何解决这个问题以及为什么会发生这种情况的另一种方法?

以上是关于window.navigate 仅适用于 Internet Explorer的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 charFormat 样式仅适用于选择,并且仅适用于特定方向的选择?

WebM 也适用于音频,还是仅适用于视频?

WebRTC connectionState 停留在“new” - 仅适用于 Safari,适用于 Chrome 和 FF

http.ListenAndServe 仅适用于本地主机?

Jquery 动画仅适用于一个元素

为啥缓存行仅适用于 simdization?