当前位置:首页 > JavaScript

js实现iframe

2026-02-01 12:03:43JavaScript

使用JavaScript创建iframe

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

const iframe = document.createElement('iframe');
iframe.src = 'https://example.com';
iframe.width = '600';
iframe.height = '400';
document.body.appendChild(iframe);

设置iframe属性

创建后可以通过属性或setAttribute方法配置iframe:

iframe.setAttribute('allowfullscreen', '');
iframe.frameborder = '0';
iframe.id = 'customFrame';

安全限制与sandbox属性

现代浏览器要求对跨域iframe设置sandbox属性以限制权限:

js实现iframe

iframe.sandbox = 'allow-same-origin allow-scripts';

内容写入iframe

通过contentDocumentcontentWindow操作iframe内部内容(需同源):

iframe.onload = function() {
  const doc = iframe.contentDocument || iframe.contentWindow.document;
  doc.open();
  doc.write('<h1>Dynamic Content</h1>');
  doc.close();
};

跨域通信

使用postMessage实现跨域通信:

js实现iframe

// 父页面发送消息
iframe.contentWindow.postMessage('Hello', 'https://target-origin.com');

// iframe内接收消息
window.addEventListener('message', (event) => {
  if (event.origin !== 'https://parent-origin.com') return;
  console.log(event.data);
});

响应式iframe

通过CSS使iframe自适应容器大小:

iframe {
  width: 100%;
  height: 100%;
  border: none;
}

移除iframe

从DOM中移除iframe元素:

iframe.parentNode.removeChild(iframe);

标签: jsiframe
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

节流js实现

节流js实现

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

js实现滚动

js实现滚动

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

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…