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()函式即可。
相關文章
- textarea文字框高度自適應程式碼例項
- html iframe高度自適應HTML
- iframe 跨域高度自適應跨域
- iframe自適應高度的外掛
- 自動載入的iframe高度自適應
- Iframe嵌入跨域頁面高度自適應實現詳解跨域
- 真正解決iframe高度自適應問題
- textarea實現高度自適應的理解
- js獲取iframe和父級之間元素,方法、屬,獲取iframe的高度自適應iframe高度JS
- 小程式Swiper高度自適應
- iframe 裡的高度適應的問題
- textarea 高度自適應
- 微信小程式Swiper高度自適應微信小程式
- CSS 圖片固定長寬比實現高度自適應CSS
- textarea文域高度自適應
- textarea高度自適應詳解
- jQuery textarea框高度自適應jQuery
- 短視訊平臺原始碼,彈性佈局實現自適應高度cell原始碼
- Widget小元件如何自適應高度元件
- 好程式設計師web前端分享高度自適應程式設計師Web前端
- 微信小程式swiper高度自適應,swiper的子元素高度不固定微信小程式
- 巢狀UITextView的UITableViewCell高度自適應巢狀UITextView
- easyui-layout佈局高度自適應UI
- 微信輪播圖自適應高度
- Flutter實現馬蜂窩小紅書自適應高度輪播圖Flutter
- Android XML靈活佈局之 EditText實現自適應高度同時限制最小和最大高度AndroidXML
- iframe巢狀(等寬高比自適應:aspectRatio)巢狀
- dd應用例項
- React Native踩坑指南:WebView高度自適應React NativeWebView
- 響應式佈局程式碼例項
- 真正的讓iframe自適應高度 相容多種瀏覽器隨著視窗大小改變瀏覽器
- iOS 精準獲取webView內容高度並自適應高度iOSWebView
- UITableViewCell含有WebView的自適應高度新解決方案UIWebView
- ”innerHTML“的應用例項HTML
- 在Cucumber中應用 PicoContainer容器實現元件的例項化AI元件
- 使用iframe內嵌網頁的時候,如何做到內嵌網頁的高度自適應 有大用網頁
- PHP+Ajax實現文章心情投票功能例項PHP
- CSS實現圖片寬度自適應CSS
- padding-bottom實現圖片自適應padding