当前位置:首页 > 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实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…