我有一个窗口,在关闭之前我会刷新底层页面。
if(opener && typeof(opener.Refresh) != 'undefined')
{
opener.Refresh();
}
如果我离开原来的打开页面,这段代码会抛出“Permission Denied”错误。
调试代码显示typeof(opener.Refresh)
等于"unknown"而不是预期的"undefined"。
据我所知,“未知”不是 的返回值之一typeof
,那么如何以及为什么会返回该值?
更多信息
我通过将检查更改为:
if(opener && typeof(opener.Refresh) == 'function')
然而,像这样的例子(detecting-an-undefined-object-property-in-javascript)似乎并没有将“未知”因素考虑在内。