当前位置:首页 > 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属性以限制权限:

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实现跨域通信:

// 父页面发送消息
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);

js实现iframe

标签: jsiframe
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现全屏

js实现全屏

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

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现验证

js实现验证

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

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClip…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…