前提: 咱們能夠改動兩個域下面的頁面代碼。 . . .html
域A 域B跨域
. . .app
好比咱們想實現,域A上經過iframe顯示域B的頁面內容,同時讓域A的頁面自適應域B的頁面高度。htm
. . .事件
<iframe height='200px' id='iframeA' src="http://域B/B.html"></iframe> get
. . . 2.域B的頁面B.html寫一個窗口加載事件:iframe
window.onload = function(){} . . .hash
-一、建立一個iframe,設置其高寬爲0px(這是爲了避免佔空間); -二、獲取本頁面的完整高度, -三、設置iframe.src爲:域A/set_DomainA_Height.html#接「完整高度」 -四、而後把iframe給append到本頁面----document.body.appendChild(iframe)it
. . . 3.在域A下建立set_DomainA_Height.html . . .io
由於本頁面跟域A處於同一域,因此就不存在跨域了,能夠直接設置域A的Iframe的高度,以此實現高度自適應。
. . .
-一、獲取域A的iframe
parent.parent.document.getElementById("iframe1");
. . . -二、獲取錨點參數--高度值
window.location.hash.split("#");
. . .
-三、設置域A的高度爲獲得的值
. . .
Done