动态生成 iframe 如何插入 HTML 元素?

动态生成 iframe 如何插入 html 元素?

动态插入 html 元素到 iframe

问题:如何向动态生成的 iframe 框架中插入 html 元素?

问题背景:

  • 目标是将网页上的表格转换成 excel 文件。
  • 思路是将网页表格转换成 html 数据,通过 ajax 传给后端处理成一个 html 文件,然后再传回来。
  • 插入到动态生成的 iframe 框架中,最后下载下来。

问题代码:

立即学习“前端免费学习笔记(深入)”;

// ...
<iframe id="excel-frame"></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 中的文档对象。

以上就是动态生成 iframe 如何插入 HTML 元素?的详细内容,更多请关注其它相关文章!