麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  >  iframe高度自適應撐開

iframe高度自適應撐開

來源:千鋒教育
發布人:xqq
時間: 2023-11-23 12:35:38 1700714138

一、什么是iframe標簽?

iframe(英文全稱 inline frame)是 HTML 語言中的一種標簽用于在當前HTML文檔中插入另外一個HTML文檔。通過使用 iframe 標簽,可以在當前頁面中插入其他網頁。

例如:



以上代碼可以在當前網頁中插入一個高度為500像素、指向http://www.example.com的網頁。

二、iframe自適應高度有哪些實現方式?

下面介紹幾種iframe自適應高度的實現方式:

1. JS監聽iframe高度

在子頁面中,使用如下 js 代碼監控子頁面高度的變化,將其高度賦值給iframe標簽:


window.parent.document.getElementById("iframe").height = document.body.scrollHeight;

其中,"iframe"是父頁面iframe標簽的ID,通過該方式可以實現高度的自適應。

不過,該方法在 iframe 中有超過一個滾動條(scroll bar)的時候會失效,如在子頁面中存在垂直滾動條,將會影響高度計算。

2. PostMessage

在子頁面中,使用 postMessage 方法向父頁面發送高度變化消息,然后在父頁面中監聽高度變化消息并對 iframe 進行高度賦值。

子頁面中 JS 代碼:


window.parent.postMessage(document.body.scrollHeight, "*");

父頁面中 JS 代碼:


window.addEventListener("message", function(event) {
  var iframe = window.document.getElementById("iframe");
  iframe.height = event.data;
}, false);

3. IntersectionObserver

使用 IntersectionObserver 可以實現監聽 DOM 節點的可見性變化。當 iframe 從隱藏變為可見或可見變為隱藏時,會觸發回調函數并計算出新的高度賦值給 iframe。

實現代碼如下:


var intersectionObserver = new IntersectionObserver(function(entries, observer) {
  entries.forEach(function(entry) {
    if (entry.intersectionRatio > 0) {
      var iframe = entry.target;
      iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
      observer.unobserve(iframe);
    }
  });
});

var iframes = document.getElementsByTagName("iframe");
for (var i = 0; i < iframes.length; i++) {
  intersectionObserver.observe(iframes[i]);
}

三、使用第三方插件實現自適應高度

除了手動實現iframe自適應高度,還可以使用一些已經開發好的插件實現該功能。下面列舉一些常用的插件:

1. iFrame Resizer

iFrame Resizer是一個獨立的 JavaScript 庫,通過監聽 iframe 的 contentWindow 屬性上的 message 事件,實現了父窗口自適應 iframe 高度的功能。

使用方法如下:

在父頁面中引入 iFrame Resizer 庫:



在子頁面中使用如下 js 代碼初始化插件:





其中 heightCalculationMethod 指定了高度計算方法,taggedElement 表示使用指定標簽的高度計算;而 checkOrigin 表示是否需要驗證來源。

2. iframe-auto-height

iframe-auto-height 是一個基于 iFrame Resizer 開發的插件,可以自適應 iframe 高度,使用方法如下:





其中 minHeight 表示 iframe 最小高度,當高度小于該值時插件不會縮小至該值。

四、總結

以上介紹了多種 iframe 自適應高度的實現方式,不同方式都有各自的優缺點,具體可根據實際情況進行選擇。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 国产在线观看免费完整版中文版| 成人午夜电影在线| 日韩欧美一区二区三区免费观看 | 国产视频精品久久| 日本边添边摸边做边爱的视频| 国产日产精品_国产精品毛片| 久久99精品久久久久久| 老子影院午夜伦不卡亚洲| 日韩手机视频| 欧美高清不卡| 国产无套乱子伦精彩是白视频| 日本一道本在线视频| 色综合视频一区二区三区| 国产区图片区小说区亚洲区| 亚洲伦理一区二区| 又粗又硬又黄又爽的免费视频| 久久99精品国产麻豆不卡 | 试看120秒做受小视频免费| 亚洲国产日韩在线人成蜜芽| 厨房掀起馊子裙子挺进去| 一个人看的视频在线| 美女被爆羞羞视频网站视频| 亚洲视频一二三| 蜜柚免费视频下载| 亚洲综合久久综合激情久久| 中国老人倣爱视频| 李老汉的性生生活2| 免费中文字幕不卡视频| 日韩福利在线| 精品无人区麻豆乱码1区2区| 性欧美黑人巨大videos| 欧美成人精品一区二三区在线观看| 欧美日韩电影在线观看| 日韩在线一区二区三区免费视频| 女人是男人的女未来1分49分| 国产白丝在线观看| 久久成人免费播放网站| 公交车上性配合享受视频| 天海翼一区二区三区高清视频| 干吊妞| 免费看毛片网|