2016-05-04 58 views
1

任何機構可以告訴我想在iframe中加載url onload函數是。我想要顯示沒有滾動條的iframe並調整其內容,但父頁面將滾動取決於內容任何人都可以告訴如何調整跨域url中的iframe?如何調整跨域的iframe的大小url

感謝

回答

0

爲了調整基於其內容的iframe,你卡恩使用postMessage當前的iframe高度發送到其父。

iFrame中包含的頁面需要使用postMessage將其當前高度發送到包含頁面。 包含頁面必須偵聽該消息並相應地更改iframe的高度。

中包含的頁面的代碼可能是這個樣子:

function getBottom() { 
    var max = jQuery("body").height(); 
    //Your additional calculations go here 
    return max; 
} 

function updateHeight() { 
    sendHeightToParent(); 
    setTimeout(updateHeight, 500); 
} 

function sendHeightToParent() { 
    var messageObject = { 
     "type":"size", 
     "version":"1.0.0", 
     "params":{ 
      "height": getBottom() 
     } 
    }; 

    //YOURTARGET is the target page if known. Otherwise use "*" 
    parent.postMessage(JSON.stringify(messageObject), "YOURTARGET"); 
} 

//Only possible if html5 post message is available 
if (typeof parent.postMessage == 'function') { 
    jQuery().ready(function() { 
     sendHeightToParent(); 
     setTimeout(updateHeight, 500); 
    }); 
} 

然後家長監聽的事件並相應地更新的iframe:

//Only possible if html5 post message is available 
if (typeof parent.postMessage == 'function') { 
    window.addEventListener("message", function (e) { 
     obj = JSON.parse(e.data); 
     if (obj.type == 'size') { 
      myFrame = document.getElementById('YouIFrameId'); 
      myFrame.stye.height = obj.params.height + "px"; 
     } 
    } 
} 
+0

自體標籤,我需要哪些方法調用或需要從iframe調用。你可以更新代碼 – user386430

+0

在包含iframe的頁面中添加第二個代碼。 在包含的頁面中添加第一個代碼。 –

+0

。我在index.jsp的同一頁面添加了iframe – user386430