windows.location.href 不适用于 Firefox3

IT技术 javascript firefox
2021-03-09 03:43:47

我们有一个名为“move”的 JavaScript 函数,它只执行“windows.location.href =任何给定的锚点”。
此功能适用于 IE、Opera 和 Safari,但不知何故在 Firefox 中被忽略。在 Google 上进行研究并没有得出令人满意的答案,为什么它不起作用。
有没有 JavaScript 大师知道这种行为,通过 JavaScript 跳转到锚点的最佳实践是什么?

6个回答

你有没有试过只使用

window.location = 'url';

在某些浏览器中,window.location.href它是只读属性,并不是设置位置的最佳方式(尽管从技术上讲它应该允许您这样做)。如果您单独使用该location属性,则应在所有浏览器中为您重定向。

Mozilla 的文档对如何使用该window.location对象有非常详细的解释

https://developer.mozilla.org/en/DOM/window.location

+1 更新后的帖子;)。我上面的评论现在无关紧要,所以我将其删除。
2021-04-25 03:43:47
@Craig 正如 scunliffe 所指出的,设置window.location.href会起作用,但在 IE6 中不起作用。但是,设置window.location适用于我迄今为止测试过的所有浏览器。
2021-05-01 03:43:47
@Guffa 如果这是真的,那对我来说就是新闻。我不知道有任何浏览器在设置location对象时出现问题我想知道什么浏览器不能,如果你能找到的话......
2021-05-08 03:43:47
它是只读的,因为您无法更改它,但是设置 location.href 是完全有效的并且适用于所有浏览器(IE6 中的角落场景除外)
2021-05-16 03:43:47
在其他一些浏览器中设置window.location而不是window.location.href会导致问题。(不过,我现在不记得具体是哪个了。)
2021-05-17 03:43:47

如果您尝试在回调后的事件之后调用此 javascript 代码,则必须向函数中添加另一行:

function JSNavSomewhere()
{
    window.location.href = myUrl;
    return false;
}

在页面的标记中,单击时调用此函数的控件必须返回此函数的值

<asp:button ........ onclick="return JSNavSomewhere();" />

false 返回值将取消回调,重定向现在将起作用。为什么这在 IE 中有效?好吧,我猜当他们将重定向优先于回调时,他们对这个问题的看法有所不同。

希望这可以帮助!

谢谢!这个问题让我发疯,直到我发现这个!+1 给你保存了我的发际线。
2021-04-21 03:43:47
谢谢你,节省了我一些时间。IE6 总是需要一个特别的刺激。
2021-04-22 03:43:47

在这种情况下确保的一项观察

以下将适用于IE,但既不适用Chrome也不适用Firefox(我测试的版本)

 window.location.href("http://stackoverflow.com");

以下将适用于所有三个

window.location.href = "http://stackoverflow.com";
我不认为 window.location.href 在 Safari 中可靠地工作
2021-04-26 03:43:47

也许这只是您帖子中的一个错字而不是您的代码,但它是window而不是window s

我不确定是否会跟随您。
我刚刚尝试过:使用 FF3 到Lua 5.1 参考手册(很长而且有很多锚点)。
粘贴javascript:window.location.href="#2.5"; alert(window.location.href);在地址栏中,我转到了正确的锚点,它显示了正确的 URL。当然,也适用于完整的 URL。
替代代码:javascript:(function () { window.location.href="#2.5"; })();

也许你忘记了#。常见问题,还有图像映射。

如果您在书签中删除它,则必须将其替换为 void(0) 或将整个内容放入函数调用中:书签不得具有最终值。
2021-05-13 03:43:47
谢谢你的帖子。我也设置了 # 字符。不用“alert”这句可以试试吗?如果我发出警报,它会以某种方式起作用,如果我将其删除,则不会。
2021-05-19 03:43:47