mck*_*k89 11 javascript cross-browser
你知道检查变量是否是javascript中的窗口对象的好方法吗?我尝试过:
var variable=window;
Object.prototype.toString.call(variable);
Run Code Online (Sandbox Code Playgroud)
在Firefox中,它会"[object Window]"在IE中返回,"[object Object]"因此这不是正确的方法.你知道一个准确的检查方法吗?
And*_*y E 12
是的,但我需要一种方法来检查每个窗口,而不仅仅是当前的窗口
有几种方法可以做到这一点.最简单的方法是检查窗口对象上的一个或两个已知属性.还有self属性 - 对于每个窗口,您可以检查self属性是否等于窗口对象:
myvar.self == myvar;
window.self == window;
frameElement.contentWindow.self == frameElement.contentWindow;
Run Code Online (Sandbox Code Playgroud)
在 AngularJS 源代码中找到了这个。一个班轮并击中目标。
return variable && variable.document && variable.location && variable.alert && variable.setInterval;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11545 次 |
| 最近记录: |