将已经加载的JS拉入局部变量

时间:2012-06-07 14:44:12

标签: javascript

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

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拉...

document.getElementById(b.id).source_code

2 个答案:

答案 0 :(得分:2)

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

$.get($("script[src*=jquery]").attr("src"),function(data){
    console.log(data)
})

答案 1 :(得分:0)

How do I get source code from a webpage?(由我写)

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);
});