我有一个脚本的路径:
var path = 'some_script.js';
它可以是远程路径,相对或绝对路径,来自相同或不同来源:
var path = 'http://path.to/some/another_script.js';
我正在尝试找到一种方法来加载具有给定path
的脚本而不执行,并将其内容作为字符串。
我尝试使用无效类型创建script
,以便稍后使用某些DOM函数获取其内容:
var s = document.createElement('script');
s.src = path;
s.type = "text/broken";
// s.type = "text/javascript";
document.getElementsByTagName('head')[0].appendChild(s);
但在这种情况下,脚本甚至没有加载(至少在Chromium中)。如果我将其类型更改为"text/javascript"
,则会加载脚本,但会立即执行。
有没有办法在没有执行的情况下加载脚本,并获取其内容?
答案 0 :(得分:4)
你正在寻找一个正常的AJAX调用,它是这样的:
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", path, true);
oReq.send();
如果您正在使用JQuery,那么您可以改为:
$.get(path, function(data) {
console.log(data);
});