0

链接到 .js 的源目前无法通过 DOM 获得。

var b = document.createElement("script");
b.type= "text/javascript";
b.src = "foo/source/ArcJ.js"  // dynamically load .js file

我能做吗

var c = b.src // probably not

我认为这只会给我路径...我想要源...即字符串中的所有代码。

有没有办法在不使用 ajax 的情况下做到这一点?这不应该是一个简单的 DOM Pull ...

document.getElementById(b.id).source_code

?

4

2 回答 2

2

.src 是 url,所以你只需使用 ajax 请求从中加载 url...

$.get($("script[src*=jquery]").attr("src"),function(data){
    console.log(data)
})
于 2012-06-07T14:46:57.027 回答
0

摘自如何从网页获取源代码?(我写的)

javascript中有三种方式:

首先,通过 XMLHttpRequest :http: //jsfiddle.net/635YY/1/

var url="../635YY",xmlhttp;//Remember, same domain
if("XMLHttpRequest" in window)xmlhttp=new XMLHttpRequest();
if("ActiveXObject" in window)xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open('GET',url,true);
xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4)alert(xmlhttp.responseText);
};
xmlhttp.send(null);

其次,通过 iFrames:http: //jsfiddle.net/XYjuX/1/

var url="../XYjuX";//Remember, same domain
var iframe=document.createElement("iframe");
iframe.onload=function()
{
    alert(iframe.contentWindow.document.body.innerHTML);
}
iframe.src=url;
iframe.style.display="none";
document.body.appendChild(iframe);

第三,通过 jQuery:http: //jsfiddle.net/edggD/2/

$.get('../edggD',function(data)//Remember, same domain
{
    alert(data);
});
于 2012-06-07T14:53:16.113 回答