javascript xhr 加载 iframe 作为响应

标签 javascript ajax iframe xmlhttprequest

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

var xhr= new XMLHttpRequest();
    xhr.open('GET', 'http://example.com/foo/bar/baz.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();

最佳答案

替换这个:

document.getElementsByTagName('body')[0].innerHTML = document.getElementsByTagName('body')[0].innerHTML + this.responseText;

用这个:

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

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

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

关于javascript xhr 加载 iframe 作为响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363585/

相关文章:

javascript - Awesomium 是否允许我在 JS 中调用/使用 C++ 变量/方法?

javascript - 更改视口(viewport)硬件像素缩放

javascript - Bootstrap 卡在移动 View 中未折叠

javascript - 调试 JavaScript

PHP: SQLSTATE[42000]: 语法错误或访问冲突: 1064

javascript - iFrame 与按钮通信

javascript - AJAX xmlhttp.open

html - Internet Explorer 不呈现从 JQuery ajax post 返回的 html

javascript - 如何通过 VPN 打开 iframe 链接

javascript - 在 colorbox iframe 上设置 body font-size