【知识点】HTML文档的域有关(一)
优采云 发布时间: 2021-08-01 02:28【知识点】HTML文档的域有关(一)
同源政策
页面中的Javascript只能读取访问同域的网页。这里需要注意的是,Javascript本身的域定义与其所在的网站无关,只与Javascript代码中嵌入的文档的域有关。如以下示例代码:
This is a webpage came from http://localhost:8000
123
console.log($('#test').text());
HTML 文档来自:8000,表示它的域是:8000(域和端口也是相关的)。虽然页面中的jquery是从加载的,但是JQuery的域只和它所在的HTML文档一样,域是相关的,这样就可以访问到HTML文档的属性,所以上面的代码就可以运行了正常。
附件:使用上述代码的原因是开发者将常用的Javascript库(如JQuery)的地址指向同一个公共URL。用户加载一次JS后,所有后续加载都会被浏览器缓存,从而加快页面加载速度。
从这个角度来说,如果提问者已知的远程指向互联网上的任何一个页面,那么你所期望的功能就无法实现;如果远程点是指您可以控制的网站,请参阅下面的放宽同源策略;
<p>放宽同源 policyDocument.domain:用于子域的情况。对于多个窗口(一个页面上有多个iframe),Javascript可以通过将document.domain的值设置为同一个域来访问外部窗口;跨域资源共享:添加Access-Control-