首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript .pathname IE怪癖?

Javascript .pathname IE怪癖?
EN

Stack Overflow用户
提问于 2009-06-05 14:39:16
回答 2查看 14.1K关注 0票数 31

考虑以下Javascript:

代码语言:javascript
复制
var anchors = document.getElementsByTagName('a');
for(var i=0; i < anchors.length; i++)
{
    alert(a.pathname);
}

当我在一个包含格式为"http://foo.com/bar“的链接的页面上运行它时,在IE8中我得到一个看起来像”http://foo.com/bar“的字符串。在Safari,Chrome,Firefox中,我得到的结果类似于"/bar“(注意前面的斜杠)。

这是IE的错吗,这是怎么回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-05 15:08:21

W3C standard on the window object -包括location接口-日期为2006年4月7日,即它是在实际实现多年后指定的。

标准是这样写的:

路径名

此属性表示位置的URI的路径组件,它由主机和端口之后的所有内容组成,直到第一个问号(?)或散列标记(#)。

这意味着应该包括前导斜杠,这与Mozilla's implementation一致。

MSDN doc on the location object没有提到属性包含的内容,但是page on the VBScript location object有一个与您的发现一致的示例。

正如上面所说的页面是©1996 --在W3C介入之前的十年--很难说IE有问题,但我仍然认为它是一个bug。

票数 30
EN

Stack Overflow用户

发布于 2009-06-05 16:08:08

此行为的奇怪之处在于,与所有其他浏览器一样,window.location.pathname在所有版本的IE中都会返回前导斜杠(在主机名之后)。

它只是一个超链接('a element')的location对象,在IE (以及Opera )中返回没有斜杠的路径。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/956233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档