如何解决javascript和父/子窗口中带有“ with”关键字的有趣古怪内容
|| 我注意到javascript中的\“ with \”关键字以及父窗口和子窗口之间的关系,特别是window.opener,有些特殊之处。我尚未从父窗口(仅是子窗口)进行测试,但是在下面的示例中值得注意的是- 父窗口(Parent.html):// global scope
function ParentFunc() { alert(\"I am a parent function\"); }
子窗口(Child.html):
// global scope
var baseWin = window.opener;
// \"this\" keyword corresponds to Child.html when function below is called
function Child_Onclick_Func()
{
alert(\"Hi,from Child\");
with (baseWin)
{
ParentFunc();
alert(\"Hi,from Parent\");
}
alert(\"Hi,back to Child\");
}
在这种情况下,“ with”关键字切换到父窗口,第二个警报也向父窗口触发隐式onfocus。我没有意识到\“ with \\”会切换到父窗口,但是现在有意义。
解决方法
发生这种情况是因为在Web浏览器中运行javascript时,ѭ2是全局名称空间。当你写:
alert(\'Hello,World!\');
您实际上是在调用window.alert
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。