tl; dr脚本标记不受CORS和同源策略的约束,因此javascript / DOM无法提供对通过
长版本: 大多数其他答案(以及公认的答案)正确表明,“ 正确 ”的方式来获取通过会破坏CORS策略,例如,现代浏览器阻止了XHR资源提供访问控制允许来源标头,因此浏览器不允许使用除以外的其他任何方式CORS来获取内容。
使用以下代码(如在其他问题“使用XHR / AJAX”中提到的那样),可以对文档中所有非内嵌脚本标签进行另一个请求。
function printScriptTextContent(script)
{
var xhr = new XMLHttpRequest();
xhr.open("GET",script.src)
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log("the script text content is",xhr.responseText);
}
};
xhr.send();
}
Array.prototype.slice.call(document.querySelectorAll("script[src]")).forEach(printScriptTextContent);
因此,我不再重复,而是想通过此答案在其原因方面进行补充。