80

I need to load a responsive website into a div in my HTML page without using an iframe element.

I have tried this link; it's working for a single page URL, which I mentioned in the script.

$('#mydiv').load('http://localhost/qa/ask#external-div', function(response, status, xhr) {
    if (status == "error") {
        var msg = "Sorry but there was an error: ";
        alert(msg + xhr.status + " " + xhr.statusText);
      }
});
4

2 回答 2

126

使用简单的html,

 <div> 
    <object type="text/html" data="http://validator.w3.org/" width="800px" height="600px" style="overflow:auto;border:5px ridge blue">
    </object>
 </div>

或者jquery,

<script>
        $("#mydiv")
            .html('<object data="http://your-website-domain"/>');
</script>

JSFIDDLE 演示

于 2013-08-09T11:09:05.877 回答
2

正如这个stackoverflow线程中提到的, iframe、embed和object元素之间的区别

您可以使用 <embed> 标签,而不是 <object> 标签。如果您需要孩子和父母之间的沟通。

† 正如以下评论中所指出的;<object> 中的脚本将运行,但父上下文和子上下文不能直接通信。使用 <embed> 您可以从父级获取子级的上下文,反之亦然。这意味着您可以使用父级中的脚本来操作子级等。这部分对于 <object> 或 <iframe> 是不可能的,您必须设置一些其他机制,例如 JavaScript postMessage API。

<embed type="text/html" src="snippet.html" width="500" height="200">
于 2021-03-10T07:22:22.133 回答