ajax應用實現iframe高度自適應程式碼例項
在使用iframe的時候,為了網頁的美觀度,一般要特別注意iframe高度自適應問題,本章介紹一下在ajax應用中如何實現iframe的高度自適應效果,下面進入正題。
原理非常的簡單就是在頁面載入完成後,重新計算iframe高度,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼//公共方法:設定iframe的高度以保證全部顯示資料 //function SetPageHeight() { //var iframe = getUrlParam('ifname'); //var myiframe = window.parent.document.getElementById(iframe); //iframeLoaded(myiframe); //} var iframeLoaded = function (iframe) { if (iframe.src.length > 0) { if (!iframe.readyState || iframe.readyState == "complete") { var bHeight = iframe.contentWindow.document.body.scrollHeight; var dHeight = iframe.contentWindow.document.documentElement.scrollHeight; var height = Math.max(bHeight, dHeight); iframe.height = height; } } } //分頁時重新設定 iframe 高度 ; 修改後:iframe.name = iframe.id var reSetIframeHeight = function(){ try { var oIframe = parent.document.getElementById(window.name); oIframe.height = 100; iframeLoaded(oIframe); } catch (err){ try { parent.document.getElementById(window.name).height = 1000; } catch (err2) { } } }
呼叫reSetIframeHeight()方法即可實現我們的要求。
但是還有一種情況就是使用jquery ajax請求資料,資料都是在body load完成後,還在進行http請求,這時候沒有資料佔據視窗高度,reSetIframeHeight方法無法計算出來高度。
這時候,我們想到一個方法:ajax什麼時候能夠執行完成,當然是Complete事件是執行完成。
但是我們也不能在每一個頁面裡的ajax Complete事件中新增處理。這裡就用到了jquery ajax的全域性變數。
處理ajax和iframe自適應的程式碼:
[JavaScript] 純文字檢視 複製程式碼var sendcount = 0; var completecount = 0; // 新增ajax全域性事件處理。 reSetIframeHeight(); $(document).ajaxStart(function (a, b, c) { }).ajaxSend(function (e, xhr, opts) { sendcount++; }).ajaxError(function (e, xhr, opts) { }).ajaxSuccess(function (e, xhr, opts) { }).ajaxComplete(function (e, xhr, opts) { completecount++; reSetIframeHeight(); }).ajaxStop(function () { });
首先執行reSetIframeHeight(),再在每個ajax完成後呼叫reSetIframeHeight()函式即可。
相關文章
- iframe高度自適應程式碼例項
- <iframe>高度自適應程式碼例項
- jquery實現的iframe高度自適應程式碼例項jQuery
- 原生javascript實現的iframe高度自適應程式碼例項JavaScript
- javascript實現的iframe高度自適應程式碼JavaScript
- jquery 實現iframe 自適應高度jQuery
- 文字框高度自適應例項程式碼
- jquery實現的iframe高度自適應效果jQuery
- textarea文字框高度自適應程式碼例項
- html iframe高度自適應HTML
- css實現的規定最小高度然後高度自適應程式碼例項CSS
- iframe 跨域高度自適應跨域
- iframe自適應高度的外掛
- iframe高度自適應解決方案
- 自動載入的iframe高度自適應
- Iframe嵌入跨域頁面高度自適應實現詳解跨域
- input文字框實現寬度自適應程式碼例項
- jQuery實現的圖片尺寸自適應程式碼例項jQuery
- 真正解決iframe高度自適應問題
- 實現iframe內容的自適應
- textarea實現高度自適應的理解
- iframe之間通訊問題及iframe自適應高度問題
- 圖片尺寸大小自適應程式碼例項
- js獲取iframe和父級之間元素,方法、屬,獲取iframe的高度自適應iframe高度JS
- css實現的左右兩列自適應等高效果程式碼例項CSS
- 小程式Swiper高度自適應
- js實現開啟應用程式程式碼例項JS
- 移動端字型大小自適應程式碼例項
- css實現左欄固定右欄自適應,高度自適應的佈局CSS
- 微信小程式Swiper高度自適應微信小程式
- jQuery實現的JSONP應用程式碼例項jQueryJSON
- 最新Iframe全瀏覽器相容自適應高度解決方案瀏覽器
- 移動端頁面大小自適應程式碼例項
- 實現一個高度自適應的輸入框
- TabelViewCell高度自適應View
- localStorage應用程式碼例項
- 圖片大小自適應手機螢幕程式碼例項
- CSS 圖片固定長寬比實現高度自適應CSS