gpt4 book ai didi

javascript - typeof 在 IE 中返回 "unknown"

转载 作者:行者123 更新时间:2023-12-02 10:32:04 26 4
gpt4 key购买 nike

我有一个窗口,在关闭之前我会刷新底层页面。

if(opener && typeof(opener.Refresh) != 'undefined')
{
opener.Refresh();
}

如果我离开原来的打开页面,此代码将抛出“权限被拒绝”错误。

调试代码后发现,typeof(opener.Refresh) 等于“unknown”,而不是预期的“undefined”

据我所知,“unknown”不是typeof的返回值之一,那么如何以及为什么会返回这个值?

更多信息

我通过将检查更改为避免了错误:

if(opener && typeof(opener.Refresh) == 'function')

然而,像这样的例子( detecting-an-undefined-object-property-in-javascript )似乎并没有将“未知”纳入等式中。

最佳答案

根据duplicate question at Bytes ,typeof 值 unknowndate 一起添加到 JScript 版本 8 中。

一个comment罗伯特·尼曼 (Robert Nyman) 的博客也可以进行解释:

Internet Explorer displays “unknown” when the object in question is on the other side of a COM+ bridge. You may not know this or realize this, but MS’s XMLHTTP object is part of a different COM+ object that implements IUnknown; when you call methods on it, you’re doing so over a COM bridge and not calling native JavaScript.

Basically that’s MS’s answer if you try to test or access something that’s not a true part of the JScript engine.

关于javascript - typeof 在 IE 中返回 "unknown",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10982739/

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