使用Jquery模仿iframe行为

时间:2012-08-14 05:00:38

标签: javascript jquery

我需要动态地将整个php页面嵌入到另一个中,我不能使用iframe来完成它,因为它将覆盖应用程序的重要部分,最重要的是,我需要完全控制嵌入页面才能插入元素使用拖放脚本而不必使用黑客。

我需要模仿iframe行为,因为主页和来自主页的css不会相互干扰,我需要加载页面中的脚本正常工作。

此时,结果的验证不是问题。

有人可以帮忙吗?

提前致谢!

修改 让我明确一点:我可以使用jquery在一个页面中嵌入一个页面。这很简单。但是,当我这样做时,一个css干扰另一个,而js没有正确执行,这就是我想要避免的。

1 个答案:

答案 0 :(得分:0)

对我来说,一个AJAX调用可以完成这项任务,只要它们都在同一台服务器上。

如果您使用以下内容调用该页面:

    function assignRequestObject(){
    try{
    // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e){
    // Internet Explorer
        try{
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e){
            try{
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){
            alert("Your browser does not support AJAX!");
            return false;
            }
        }
    }
}
    assignRequestObject();
    xmlHttp.onreadystatechange = readyStateCheck;
    xmlHttp.open('GET', '/mydir/fooBar.php', true); // '/' begins at your site's root
    xmlHttp.send(null);

    readyStateCheck = function(){
    if(xmlHttp.readyState==4){
        document.getElementById('mydiv').innerHTML = xmlHttp.responseText;      }
}

(这是未经测试的)

这部分 - document.getElementById('mydiv').innerHTML = xmlHttp.responseText; - 会用你的php文件产生的任何内容填充你的div。请注意,即使使用.txt文件也可以执行此操作。