
动态插入 html 元素到 iframe
问题:如何向动态生成的 iframe 框架中插入 html 元素?
问题背景:
- 目标是将网页上的表格转换成 excel 文件。
- 思路是将网页表格转换成 html 数据,通过 ajax 传给后端处理成一个 html 文件,然后再传回来。
- 插入到动态生成的 iframe 框架中,最后下载下来。
问题代码:
立即学习“前端免费学习笔记(深入)”;
// ... // ...
解决方案:
// 使用 JavaScript 创建一个新的 DOM 元素
const table = document.createElement('table');
// 设置表头和表内容(表格数据)
// ...
// 将表插入到 iframe 中
const frame = document.getElementById('excel-frame');
const frameDocument = frame.contentDocument || frame.contentWindow.document;
frameDocument.body.appendChild(table);提示:
- 确保 iframe 的 srcdoc 属性为空,否则新的 html 元素将不会被插入。
- frame.contentdocument 和 frame.contentwindow.document 都可以引用 iframe 中的文档对象。











