← HTML id HTML JavaScript 脚本 →

HTML iframes 框架

原创 2025-09-02 HTML 已有人查阅

概述

HTML iframe 元素用于在当前网页中嵌入另一个独立的网页文档,形成"网页中的网页"。<iframe> 标签定义了一个内联框架(Inline Frame),允许在一个HTML文档中创建嵌套的矩形区域来展示外部内容。
iframe 内容与主页面内容可以通过 JavaScript 进行有限度的交互。
注意:目前Web开发中出于用户体验和安全考虑,应谨慎使用iframe导航。根据具体应用场景,采用API集成或<object>元素可能是更安全、更目前的替代方案。

基本语法

HTML iframe 通过 <iframe> 标签定义:
<iframe src="URL"></iframe>
其中 src 属性指定要嵌入的外部网页地址(URL)。

设置iframe尺寸

使用属性设置
可以通过 width 和 height 属性设置iframe的尺寸,默认单位为像素,也可使用百分比:
<!DOCTYPE html>
<html>
<body>
  <h2>iframe尺寸设置示例</h2>
  <iframe src="https://www.ebingou.cn/" height="300" width="400"></iframe>
</body>
</html>
使用CSS设置
推荐使用CSS来控制iframe的样式和尺寸:
<!DOCTYPE html>
<html>
<body>
  <h2>使用CSS设置iframe尺寸</h2>
  <iframe src="https://www.ebingou.cn/" style="height:300px;width:400px"></iframe>
</body>
</html>

边框样式控制

移除边框
默认情况下iframe带有边框,可通过CSS移除:
<!DOCTYPE html>
<html>
<body>
  <h2>无边框iframe示例</h2>
  <iframe src="https://www.ebingou.cn/" style="border:none;"></iframe>
</body>
</html>
自定义边框样式
可以自定义边框的颜色、粗细和样式:
<!DOCTYPE html>
<html>
<body>
  <h2>自定义iframe边框</h2>
  <iframe src="https://www.ebingou.cn/" style="border:2px solid #4CAF50;"></iframe>
</body>
</html>
链接目标框架
可以通过iframe的name属性将链接目标指向特定框架:
<!DOCTYPE html>
<html>
<body>
  <h2>iframe作为链接目标</h2>
  <iframe src="about:blank" height="300" width="100%" name="contentFrame"></iframe>
  <p>
    <a href="https://www.ebingou.cn/" target="contentFrame">加载示例网站</a>
  </p>
</body>
</html>

嵌入视频内容

iframe常用于嵌入第三方视频内容,如腾讯视频:
<iframe width="560" height="315" 
        src="https://https://v.qq.com/embed/视频ID" 
        allow="accelerometer; autoplay; encrypted-media; gyroscope" 
        allowfullscreen>
</iframe>
主要属性说明
属性 取值 说明
src URL 指定要嵌入内容的源地址
height 像素/百分比 设置iframe高度
width 像素/百分比 设置iframe宽度
name 文本 为iframe命名,用于链接目标
sandbox 权限标识 设置内容安全限制
allowfullscreen 布尔值 是否允许全屏显示
srcdoc HTML代码 直接嵌入HTML内容

安全考量

使用iframe时需要注意以下安全风险:
点击劫持防护:避免恶意网站通过iframe嵌入您的页面
脚本注入防范:谨慎处理外部内容
同源策略限制:不同源的内容受到严格访问限制
推荐的安全实践:
<iframe src="https://www.ebingou.cn/" 
        sandbox="allow-scripts allow-same-origin">
</iframe>
响应式设计
为确保iframe在不同设备上正常显示,建议采用响应式设计:
<iframe src="https://www.ebingou.cn/" 
        style="width:100%; height:0; padding-bottom:56.25%; border:0;" 
        allowfullscreen>
</iframe>

srcdoc属性应用

srcdoc属性允许直接嵌入HTML内容,无需外部文件:
<iframe srcdoc="<h3 style='color:green;'>内嵌内容标题</h3><p>这是直接嵌入的HTML内容</p>">
</iframe>
跨域通信
使用postMessageAPI实现安全的主页与iframe间通信:
主页代码:
document.querySelector("iframe").contentWindow.postMessage("通信消息", "*");
iframe内代码:
javascript
window.addEventListener("message", (event) => {
  console.log("接收到消息:", event.data);
});

课程实践建议

谨慎选择内容源:只嵌入可信来源的内容
实施安全限制:充分利用sandbox属性
优化性能:延迟加载非关键iframe内容
确保可访问性:为iframe提供有意义的标题描述
响应式设计:保证在各种屏幕尺寸上正常显示
HTML iframe提供了强大的内容嵌入能力,但在目前Web开发中需要谨慎使用。通过合理的安全设置、响应式设计和性能优化,iframe可以成为集成第三方内容的有效工具。开发者应当根据具体需求权衡使用iframe的利弊,并始终将安全性和用户体验放在首位。
← HTML id HTML JavaScript 脚本 →
分享笔记 (共有 篇笔记)
验证码:
微信公众号