本文提供一段兼容主流浏览器的 JavaScript 脚本,用于实现 iframe 高度的自动适应。通过 setTimeout 延迟获取文档高度,解决加载不同步问题。同时附带动态向页面 head 插入外部 CSS 样式表的扩展功能,适用于需要动态管理样式的 Web 开发场景。
iframe 高度自适应脚本
以下代码实现了对主流浏览器的兼容,自动调整 iframe 的高度:
具体实现代码如下:
// 实现 iframe 高度自适应逻辑
function iframeAutoFit(iframeObj) {
setTimeout(function () {
if (!iframeObj) return;
iframeObj.height = (iframeObj.Document ? iframeObj.Document.body.scrollHeight : iframeObj.contentDocument.body.offsetHeight);
}, 200);
} iframe 调用示例
在 HTML 中调用该函数的方法如下:
HTML 代码示例:
<iframe id="HQRight" name="HQRight" onload="javascript:iframeAutoFit(this);"
height="235px;" width="770px" frameborder="0" scrolling="no"
src="Market/HQData_page.aspx?t=tjs"></iframe> 动态添加 CSS 样式扩展
扩展功能:
动态添加样式表的代码如下:
// 动态向文档添加样式表文件
function addSheetFile(obj, path) {
if (obj == undefined || obj == null)
obj = document;
var fileref = obj.createElement("link")
fileref.rel = "stylesheet";
fileref.type = "text/css";
fileref.href = path;
fileref.media = "screen";
var headobj = obj.getElementsByTagName('head')[0];
headobj.appendChild(fileref);
}