gpt4 book ai didi

javascript - 为什么 "window.location instanceof Location"在 IE 中显示为 false?

转载 作者:行者123 更新时间:2023-11-28 02:47:12 24 4
gpt4 key购买 nike

我在 FF 3.6 和 IE 8 中测试了以下代码。前者警报 true,后者警报 false。这是为什么?如何在两个浏览器中实现相同的行为?谢谢!

<!DOCTYPE html>
<html>
<head>
<script>
alert(window.location instanceof Location);
</script>
</head>
<body>
</body>
</html>

最佳答案

编辑:关于您问题下的评论,听起来您需要测试 DOM 元素和 Location 对象之间的差异。

使用 nodeType 属性测试 DOM 元素可能会更好。

if( obj.nodeType ) {
// it was a DOM element
}

然后,如果未找到 nodeType,您可以测试各种属性,只是为了确定它是 location 对象。

if( obj.nodeType ) {
// it was a DOM element
} else if( obj.hostname && obj.pathname ) {
// it was a location object
} else {
// some ERROR
}
<小时/>

原始答案:

这对我在 Chrome、Safari、Firefox 中有效:

Object.prototype.toString.call(window.location) == '[object Location]';

不过,我现在无法在 IE 中进行测试。

这是 ECMAScript 规范 Section 8.6.2 中注明的方法用于获取内部[[Class]]属性名称。

关于javascript - 为什么 "window.location instanceof Location"在 IE 中显示为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com