例:
假如我往页面动态加载了一个
<script language="JavaScript" id="jsobj" type="text/javascript">
var a=0;
var b={uu:"ss"};
function c()
{
alert("d");
}
</script>
但是我并不知里面定义了什么,我要如何遍历其中的对象或函数?能通过 id="jsobj" 来处理吗?
假如我往页面动态加载了一个
<script language="JavaScript" id="jsobj" type="text/javascript">
var a=0;
var b={uu:"ss"};
function c()
{
alert("d");
}
</script>
但是我并不知里面定义了什么,我要如何遍历其中的对象或函数?能通过 id="jsobj" 来处理吗?
for(p in window)
存进一个object类型变量preVariables
加载之后
for(p in window)
preVariables里面没有的,就是新加载进来的。
所有.js里面声明的全局函数都成了window的属性
var s = 5656;
function a(){alert('我是a')};
都可以用
alert(window['s']);
window['a']();
来获取和调用。
所以只需要判断加载前后window多出来哪些属性就可以了。
又哪里来的eval一说?eval只是在ajax获取到js的时候使用的。
用script标签加载的不需要eval
TScript.language = "javascript";
TScript.type = "text/javascript";
TScript.defer = true; //看情况再加
TScript.id=params[4];//动态参数
TScript.text = obj.responseText;//js主体
document.body.parentNode.appendChild(TScript);