需要在一个网页中打开几个网页,并不断刷新,不用iframe怎么实现?

业务需求:需要做一个网页,并在这个网页上显示好几个网站的页面,并不断定时刷新,显示的网站地址要能根据需求轮换。
这几个网站的页面不能用iframe来实现,因为iframe的内存泄露问题是个大坑。
怎么实现呢?

clipboard.png

阅读 3.7k
2 个回答

不晓得下面可否解决你的问题。
AJAX - 您可以使用XMLHttpRequest对象来检索数据并将其注入到页面中,例如在div中。使用jQuery的示例:

 $( "#result" ).load( "ajax/test.html" );

HTML5 Web Components - HTML Imports是Web Components的一部分,允许将HTML文档捆绑到其他HTML文档中。这包括HTML,CSS,JavaScript或其他任何.html文件可以包含的内容。例:

   <link rel="import" href="http://stackoverflow.com">

另外一些处理方法
object 标签 它定义了HTML文档中的嵌入对象。可用于HTML文件和多媒体内容,如音频,视频,小程序,ActiveX,PDF和Flash或其他插件)。

<object data="http://stackoverflow.com" width="400" height="300" type="text/html">
        Alternative Content
    </object>

embed 嵌入标签 - 它定义了一个外部应用程序的容器,例如一个插件,也可以用于显示一个HTML页面。

<embed src="http://stackoverflow.com" width=200 height=200 />

关于通过HEADER,最好的解决方案是使用AJAX方法,这里是一个例子:

$.ajax({
    url: "http://stackoverflow.com",
    data: { uname: "test" },
    type: "GET",
    beforeSend: function(xhr){xhr.setRequestHeader('X-TOKEN', 'xxxxx');},
    success: function() { alert('Success!' + authHeader); }
});
or in this way,
$.ajax({
    url: "http://stackoverflow.com",
    data: { uname: "test" },
    type: "GET",
    headers:{ "X-TOKEN": 'xxxxx'},
    success: function() { alert('Success!' + authHeader); }
});

解决来源:How to Show External website inside another page without iFrame?

可以了解一下ng-inclide

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏