我在这里遇到了一些问题,我甚至不知道它是否可能,这是我的困境:
我有这个脚本代码:
<script id='script1' src='http://link.to.js'></script>
使用firebug时,我可以清楚地看到脚本已经加载到这些标签之间,就像这样
<script id='script1' src='http://link.to.js'>
function something(){
alert('hi');}
</script>
我想要做的是,通过另一个脚本,获取这些标签之间的内容,如
var x = document.getElementById('script1').innerHtml;
document.getElementById('somedividhere').innerHtml = x;
当代码已经是html的一部分时,它完全有效,而不是从src加载时。
我一直在寻找这个好几个小时,我没有找到任何暗示,希望有人能帮助我。
答案 0 :(得分:3)
我认为Firebug只是为了方便起见而向您展示。如果你想从脚本中获取代码,你将不得不使用AJAX。
你可以这样做:
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var scriptcontent = ajaxRequest.responseText;
//Do something with the content
}
}
ajaxRequest.open("GET", document.getElementById('script1').src, true);
ajaxRequest.send(null);
}
只是几点说明: