3

我有几个页面主要在 iframe 中加载。但有时它们会加载到它之外

但是 top 在它外面打开时是未定义的。我知道我可以检查是否定义了 top ,如果未定义则使用 self 。有没有更好的办法?

4

2 回答 2

3

似乎总是window.top会被定义(至少在 FF 和 Chrome 中)并在页面作为顶部文档加载时引用自身,所以这应该不是问题。 OTOH,不是任何标准的一部分,因此浏览器可能会以不同的方式实现它(是的,我在看你,IE)。更多信息:MDN -window
window.topwindow.top

如果您必须进行测试,您可以使其紧凑:

(window.top || window.self).location.href = ...;
于 2013-05-03T08:02:04.530 回答
1

你有没有尝试过:

if (typeof variable === 'undefined') {
// variable is undefined
}
于 2013-05-03T07:59:54.693 回答