我想在a.php中的div1中插入整个b.php页面
通过JS更新:
document.getElementById("div1").innerHTML=AjaxObj.responseText;AjaxObj.responseText已经成功返回整个b.php的代码,而DIV1中的HTML也顺利执行,但里面最简单的JS,alert都无法运行。
看了些贴子说要把JS代码拆分啊,什么的。但我这个b.php已经定型了。
有没有办法既不用把JS代码另外写又可以执行的?本人初学刚满一个月,好多不明白而说错的地方请包容!还有一个问题:
主页现在是上中下三部分,由三个PHP文件组成,都用DIV划分。
因为上和下两部分的内容不变,主要是刷新中间那部分,所以用到上面的方法。
我也只学到这种方法,想问一下你们一般网页设计用什么方法实现页面布局的?
客户不让使用框架,就是frame的

解决方案 »

  1.   

    function $(id) {
    return document.getElementById(id);
    }function evalscript(s) {
    if(s.indexOf('<script') == -1) return s;
    var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
    var arr = [];
    while(arr = p.exec(s)) {
    var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
    var arr1 = [];
    arr1 = p1.exec(arr[0]);
    if(arr1) {
    appendscript(arr1[1], '', arr1[2], arr1[3]);
    } else {
    p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
    arr1 = p1.exec(arr[0]);
    appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
    }
    }
    return s;
    }function appendscript(src, text, reload, charset) {
    var id = hash(src + text);
    var evalscripts = [];
    if(!reload && in_array(id, evalscripts)) return;
    if(reload && $(id)) {
    $(id).parentNode.removeChild($(id));
    } evalscripts.push(id);
    var scriptNode = document.createElement("script");
    scriptNode.type = "text/javascript";
    scriptNode.id = id;
    scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
    try {
    if(src) {
    scriptNode.src = src;
    } else if(text){
    scriptNode.text = text;
    }
    $('append_parent').appendChild(scriptNode);
    } catch(e) {}
    }这是discuz程序中执行内容中包含有javascript语句的js代码,自行分析一下!现在一般都是div+css的!