BLOB实现将网页内容保存为word下载

本文档介绍了如何在前端使用JavaScript实现将网页内容保存为Word文档的功能,避免依赖外部库。通过获取指定ID的元素内容,结合HTML、CSS样式,并处理图片为Base64,最终生成可下载的Word文件。
摘要由CSDN通过智能技术生成

前端时间遇到一个需求,需要将网页内容保存为word下载,当时实现了,前几天又在前端群遇到小伙伴问相同的问题,跟他分享了代码。觉得既然有人遇到了一样的需求,那我就干脆整理下一 记录和分享吧,其实有现成的插件叫fileSave.js 但是是依赖JQuery的,像我这种人能不不加依赖就不加依赖,能自己写就自己写的脾气,当然是自己写了,其实也不复杂直接上代码吧。具体实现方法:

  const exportWord = () => {
    //gigi 原生实现方式
    const statics = {
      mhtml: {
        top:
          'Mime-Version: 1.0\nContent-Base: ' +
          location.href +
          '\nContent-Type: Multipart/related; boundary="NEXT.ITEM-BOUNDARY";type="text/html"\n\n--NEXT.ITEM-BOUNDARY\nContent-Type: text/html; charset="utf-8"\nContent-Location: ' +
          location.href +
          '\n\n<!DOCTYPE html>\n<html>\n_html_</html>',
        head: '<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8&
可以使用前端JavaScript 来将表格内容保存为 txt 文件至本地电脑。下面是一个简单的实现示例: ```html <!DOCTYPE html> <html> <head> <title>Save Table as TXT</title> </head> <body> <table id="myTable"> <tr> <th>Name</th> <th>Age</th> <th>City</th> </tr> <tr> <td>John</td> <td>25</td> <td>New York</td> </tr> <tr> <td>Jane</td> <td>30</td> <td>London</td> </tr> </table> <button onclick="saveTableAsTxt()">Save as TXT</button> <script> function saveTableAsTxt() { var table = document.getElementById('myTable'); var rows = table.rows; var data = ''; for (var i = 0; i < rows.length; i++) { var cells = rows[i].cells; for (var j = 0; j < cells.length; j++) { data += cells[j].innerText; if (j !== cells.length - 1) { data += '\t'; // 使用制表符分隔单元格 } } data += '\r\n'; // 使用换行符分隔行 } var blob = new Blob([data], { type: 'text/plain' }); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = 'table.txt'; a.click(); URL.revokeObjectURL(url); } </script> </body> </html> ``` 这个示例中,我们创建了一个包含表格和一个按钮的 HTML 页面。当点击按钮时,`saveTableAsTxt` 函数会被调用。该函数会遍历表格的每一行和每一个单元格,并将内容保存在 `data` 变量中。然后,我们使用 `Blob` 对象创建一个文本文件,将 `data` 内容写入其中,并通过 `URL.createObjectURL` 创建一个下载链接。最后,我们创建一个 `<a>` 元素,设置下载链接并触发点击事件,实现文件的下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值