当前位置:首页 > JavaScript

js实现iframe

2026-03-14 10:49:00JavaScript

使用 JavaScript 动态创建 iframe

在 JavaScript 中动态创建 iframe 可以通过 document.createElement 方法实现。以下是一个完整的示例:

// 创建 iframe 元素
const iframe = document.createElement('iframe');

// 设置 iframe 属性
iframe.src = 'https://example.com';
iframe.width = '600';
iframe.height = '400';
iframe.frameBorder = '0';  // 移除边框
iframe.allowFullscreen = true;

// 将 iframe 添加到 DOM 中
document.body.appendChild(iframe);

通过 innerHTML 插入 iframe

另一种方法是使用 innerHTML 直接插入 HTML 字符串:

document.body.innerHTML += `
  <iframe 
    src="https://example.com" 
    width="600" 
    height="400" 
    frameborder="0"
    allowfullscreen>
  </iframe>
`;

控制 iframe 的内容

可以通过 contentWindowcontentDocument 访问 iframe 的内部文档对象:

const iframe = document.querySelector('iframe');

// 等待 iframe 加载完成
iframe.onload = function() {
  // 访问 iframe 的 document 对象
  const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

  // 修改 iframe 内部内容
  iframeDoc.body.style.backgroundColor = 'lightblue';

  // 在 iframe 中执行脚本
  iframe.contentWindow.alert('Hello from parent window!');
};

跨域 iframe 的安全限制

需要注意浏览器的同源策略限制:

  • 只有当 iframe 与父页面同源时,才能完全访问其内容
  • 跨域 iframe 只能进行有限交互,如监听其加载事件
  • 可以通过 postMessage 实现安全的跨域通信

响应式 iframe

要使 iframe 适应不同屏幕尺寸,可以使用 CSS:

iframe {
  width: 100%;
  height: 100%;
  max-width: 800px;
  border: none;
}

移除 iframe

当不再需要 iframe 时,可以从 DOM 中移除:

js实现iframe

const iframe = document.querySelector('iframe');
iframe.parentNode.removeChild(iframe);

标签: jsiframe
分享给朋友:

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…