javascript - window.open获取window对象
怪我咯
怪我咯 2017-04-11 13:21:37
[JavaScript讨论组]

我想使用window.open获取window对象,对打开的网页进行操作,如果是本地的页面,是可以获取到window对象的:

var win = window.open('test.html');

但是如果是网上的页面就获取不到:

var win = window.open('https://www.baidu.com/');

就算对这个异常的window对象进行处理也会报错:

只有一种方法,把这个页面改成HTA程序可以得到百度的window对象可以进行操作,必须是在默认浏览器为IE的情况下。
为什么其他浏览器(chrome/firefox)获取不到百度的window对象?
既然HTA可以获取百度的window对象,为什么IE下可以,其他浏览器不行?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
ringa_lee

同源策略,域名、协议、端口都相同的话,JS才能相互访问资源。
本地能用,应该是你原本的页面也是本地的所以符合同源策略。
HTA能用应该因为HTA不是直接用的IE,而是WebBrowser组件,IE和WebBrowser组件虽然本质上都是一个内核,但是默认的安全策略、兼容性等有所不同,前者严格很多。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号