鍍金池/ 問(wèn)答/HTML5  HTML/ 需要在一個(gè)網(wǎng)頁(yè)中打開(kāi)幾個(gè)網(wǎng)頁(yè),并不斷刷新,不用iframe怎么實(shí)現(xiàn)?

需要在一個(gè)網(wǎng)頁(yè)中打開(kāi)幾個(gè)網(wǎng)頁(yè),并不斷刷新,不用iframe怎么實(shí)現(xiàn)?

業(yè)務(wù)需求:需要做一個(gè)網(wǎng)頁(yè),并在這個(gè)網(wǎng)頁(yè)上顯示好幾個(gè)網(wǎng)站的頁(yè)面,并不斷定時(shí)刷新,顯示的網(wǎng)站地址要能根據(jù)需求輪換。
這幾個(gè)網(wǎng)站的頁(yè)面不能用iframe來(lái)實(shí)現(xiàn),因?yàn)閕frame的內(nèi)存泄露問(wèn)題是個(gè)大坑。
怎么實(shí)現(xiàn)呢?

clipboard.png

回答
編輯回答
嫑吢丕

不曉得下面可否解決你的問(wèn)題。
AJAX - 您可以使用XMLHttpRequest對(duì)象來(lái)檢索數(shù)據(jù)并將其注入到頁(yè)面中,例如在div中。使用jQuery的示例:

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

HTML5 Web Components - HTML Imports是Web Components的一部分,允許將HTML文檔捆綁到其他HTML文檔中。這包括HTML,CSS,JavaScript或其他任何.html文件可以包含的內(nèi)容。例:

   <link rel="import" >

另外一些處理方法
object 標(biāo)簽 它定義了HTML文檔中的嵌入對(duì)象??捎糜贖TML文件和多媒體內(nèi)容,如音頻,視頻,小程序,ActiveX,PDF和Flash或其他插件)。

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

embed 嵌入標(biāo)簽 - 它定義了一個(gè)外部應(yīng)用程序的容器,例如一個(gè)插件,也可以用于顯示一個(gè)HTML頁(yè)面。

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

關(guān)于通過(guò)HEADER,最好的解決方案是使用AJAX方法,這里是一個(gè)例子:

$.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); }
});

解決來(lái)源:How to Show External website inside another page without iFrame?

2017年11月17日 19:39
編輯回答
卟乖

可以用框架來(lái)解決

2018年8月25日 02:41