解析或使用来自被调用脚本的变量?

时间:2012-05-22 03:34:12

标签: javascript

我有一个AJAX函数,它从文件加载内容并显示在调用它的文件中。

但是调用的脚本我想循环一个实际在脚本中设置的数组,这个数组调用它...这是调用文件的主脚本:

function call_file(file, div_id) {
    var xmlhttp;
    if(window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById(div_id).innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", file, true);
    xmlhttp.send();
}
var global = new Array();
global[0] = 1;
global[1] = 2;
call_script('html.html', 'main');

html.html是被调用的文件,其中包含:

<script>
    i = 0;
    for(var id in global) {
        alert(i + ' = ' + id);
        i++;
    }
</script>

这一切都可能吗?

1 个答案:

答案 0 :(得分:0)

一种方法是提取脚本并自行评估。例如:

//....
document.getElementById(div_id).innerHTML = xmlhttp.responseText;
var str = xmlhttp.responseText;
var reg = /<script>([^>]*)<\/script>/img;
while(reg.test(str))eval(RegExp.$1);
//...