javascript xhr加载iframe作为响应

yel*_*dom 3 javascript ajax iframe xmlhttprequest

有谁知道如何使这个XHR请求响应将.php文件加载到iframe中而不是直接加载到iframe中?

var xhr= new XMLHttpRequest();
    xhr.open('GET', 'http://derrick.dk/ogmobi/facebook/contentLockerFacebook.php', true);
    xhr.onreadystatechange= function() {
        if (this.readyState!==4) return;
        if (this.status!==200) return;
        document.getElementsByTagName('body')[0].innerHTML = document.getElementsByTagName('body')[0].innerHTML + this.responseText;    
};
xhr.send();
Run Code Online (Sandbox Code Playgroud)

Jos*_*ire 5

替换为:

document.getElementsByTagName('body')[0].innerHTML = document.getElementsByTagName('body')[0].innerHTML + this.responseText;
Run Code Online (Sandbox Code Playgroud)

有了这个:

var iframe = document.createElement('iframe');
iframe.srcdoc = this.responseText;
iframe.src = "data:text/html;charset=utf-8," + escape(this.responseText);
document.body.appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)

另外,如果您只想在iFrame中显示页面而不发出XHR请求。只需将其用作您的代码即可:

var iframe = document.createElement('iframe');
iframe.src = 'http://derrick.dk/ogmobi/facebook/contentLockerFacebook.php';
document.body.appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)