npm 包 iframe-resizer 使用教程

在前端开发中,嵌入外部网页是非常常见的需求。但是,不同网页的高度和宽度可能会不同,这时候就需要动态调整 iframe 大小来适应内容。iframe-resizer 是一个 JavaScript 库,可以自动调整 iframe 的大小,让 iframe 更加灵活、自适应。

安装

使用 npm 安装 iframe-resizer

--- ------- -------------- ------

使用

基本用法

只需在父页面引入 iframeResizer.contentWindow.min.js,在子页面引入 iframeResizer.min.js,然后在父页面的 JavaScript 中添加以下代码即可实现自适应:

-- --- ----------
------ - ------------- - ---- -----------------

--------------- ---- ---- -- -------------
---- --- ---- ---
------- ---------------- -----------------------
-- --- ----------
------ - ------------- - ---- -----------------

----------------- -------------

如果父页面和子页面在同一个域名下,会自动获取子页面的高度和宽度。如果不在同一个域名下,需要在子页面的 JavaScript 中设置一个 resize() 方法,用来发送高度和宽度给父页面:

-- --- ----------
------ - ------------- - ---- -----------------

---------------
  ------------------------ -------------
  ---------------- ---------- -
    ----------------------
  -
---

高级用法

iframe-resizer 提供了很多配置项,可以满足各种需求。以下是一些常用的配置项:

  • heightCalculationMethod:设置高度计算方式,默认为 "bodyScroll",即计算整个文档的高度;如果子页面只有一个元素需要自适应高度,则可以设置为 "bodyOffset",即计算该元素的高度。
  • resizedCallback:设置当 iframe 大小调整时的回调函数,可以在该函数中执行一些操作,比如发送通知给父页面。
  • checkOrigin:设置是否检查来源,防止 XSS 攻击。
-- --- ----------
------ - ------------- - ---- -----------------

---------------
  ---- -----
  ------------------------ ----------------
  ----------------------- ------------------ ---------
  ---------------- ---------- -
    ------------------- ---- -----------
  --
  ------------ -----
-- -------------
---- --- ---- ---
------- ---------------- -----------------------
-- --- ----------
------ - ------------- - ---- -----------------

---------------
  ------------------------ ----------------
  --------------- ---------
  ---------------- ---------- -
    ----------------------
  -
---

总结

iframe-resizer 可以让 iframe 更加灵活、自适应,避免出现滚动条或者留白的问题。在实际开发中,我们可以根据具体情况选择不同的配置项,满足各种需求。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/33788