第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

基于jQuery/Javascript內(nèi)部?jī)?nèi)容使iframe高度動(dòng)態(tài)

基于jQuery/Javascript內(nèi)部?jī)?nèi)容使iframe高度動(dòng)態(tài)

陪伴而非守候 2019-06-29 17:38:17
基于jQuery/Javascript內(nèi)部?jī)?nèi)容使iframe高度動(dòng)態(tài)我正在加載一個(gè)ASPX網(wǎng)頁(yè)在一個(gè)iframe。IFRAME中的內(nèi)容可以比IFRAME的高度更高。iframe不應(yīng)該有滾動(dòng)條。我有個(gè)包裝紙div標(biāo)簽內(nèi)的iframe,這基本上是所有的內(nèi)容。我編寫了一些jQuery來(lái)實(shí)現(xiàn)大小調(diào)整:$("#TB_window", window.parent.document).height($("body").height() + 50);哪里TB_window是一個(gè)div,在這個(gè)div中,Iframe都被控制住了。body-IFRAME中ASPX的身體標(biāo)記。此腳本附加到iframe內(nèi)容。我要去拿TB_window元素來(lái)自父頁(yè)。雖然這在Chrome上很好,但是tb_窗口在Firefox中會(huì)崩潰。我真搞不懂為什么會(huì)這樣。
查看完整描述

3 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

控件的高度。IFRAME的內(nèi)容使用:contentWindow.document.body.scrollHeight

在.之后IFRAME加載后,可以通過(guò)以下操作更改高度:

<script type="text/javascript">
  function iframeLoaded() {
      var iFrameID = document.getElementById('idIframe');
      if(iFrameID) {
            // here you can make the height, I delete it first, then I make it again
            iFrameID.height = "";
            iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
      }   
  }</script>

然后,在IFRAME標(biāo)記,您可以這樣連接處理程序:

<iframe id="idIframe" onload="iframeLoaded()" ...

不久前我遇到了另外一個(gè)需要打電話的情況iframeLoadedIFRAME在表單提交發(fā)生在.您可以通過(guò)在IFRAME內(nèi)容腳本:

parent.iframeLoaded();


查看完整回答
反對(duì) 回復(fù) 2019-06-29
?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

<script?type="text/javascript">
??function?resizeIframe(iframe)?{
????iframe.height?=?iframe.contentWindow.document.body.scrollHeight?+?"px";
??}</script>

然后在IFRAME中聲明如下:

<iframe?onload="resizeIframe(this)"?...

有兩個(gè)小改進(jìn):

  1. 您不需要通過(guò)document.getElementById獲取元素,因?yàn)樵趏nload回調(diào)中已經(jīng)有了它。
  2. 沒(méi)有必要設(shè)置

    iframe.height = ""

    如果你要在下一個(gè)聲明中重新分配它。這樣做實(shí)際上會(huì)在處理DOM元素時(shí)產(chǎn)生開(kāi)銷。


查看完整回答
反對(duì) 回復(fù) 2019-06-29
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

我發(fā)現(xiàn)接受的答案是不夠的,因?yàn)閄幀選項(xiàng):允許-從在Safari或Chrome中不支持..使用不同的方法,在展示來(lái)自Disqus的本醋。這樣做的目的是向父窗口添加一個(gè)事件偵聽(tīng)器,然后在iframe內(nèi)部使用window.postMessage將一個(gè)事件發(fā)送給父窗口,告訴它做一些事情(調(diào)整iframe的大小)。

因此,在父文檔中,添加一個(gè)事件偵聽(tīng)器:

window.addEventListener('message',?function(e)?{
??var?$iframe?=?jQuery("#myIframe");
??var?eventName?=?e.data[0];
??var?data?=?e.data[1];
??switch(eventName)?{
????case?'setHeight':
??????$iframe.height(data);
??????break;
??}},?false);

在iframe內(nèi)部,編寫一個(gè)函數(shù)來(lái)發(fā)布消息:

function?resize()?{
??var?height?=?document.getElementsByTagName("html")[0].scrollHeight;
??window.parent.postMessage(["setHeight",?height],?"*");?}

最后,在iframe內(nèi)部,向body標(biāo)記添加一個(gè)onload,以觸發(fā)調(diào)整大小函數(shù):

<body?onLoad="resize();">


查看完整回答
反對(duì) 回復(fù) 2019-06-29
  • 3 回答
  • 0 關(guān)注
  • 405 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)