同源即 协议,域名,端口号 三个完全一致,才能称作同源,默认情况下,XHR 对象只能访问 与 包含它页面唯一同一个域名的资源
脚本的来源取决于脚本所嵌入的资源的来源!!!!!!!!
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。
可以这么理解,,比如说访问A主机的当前HTML文件中有一个script标签,这个script标签的src属性请求了一个js脚本,因为这个脚本是由A主机的HTML文件的嵌入的script标签发起请求获取的,因此这个脚本的来源是属于A主机的。
jsonp的script标签请求回来的资源与当前域是相同的域,因此不受同源策略的影响
脚本本身的来源和同源策略并不相关,相关的是脚本所嵌入的文档的来源
同源策略的适用范围:
- 它只应用到了其中大多数属性,尤其对于Document对象的几乎所有属性而言
- 凡是包含另一个服务器中文档的窗口或窗体都是同源策略适用的范围
- 如果一个脚本打开一个窗口,脚本也可以关闭它
var script = document.createElement('script');
script.type = 'text/javascript';
// 传参一个回调函数名给后端,方便后端返回时执行这个在前端定义的回调函数
script.src = 'http:xx';
document.head.appendChild(script);
// 回调执行函数
function handleCallback(res) {
alert(JSON.stringify(res));
}