关于js插入页面元素问题 在js中创建html元素并在 引入js的地方直接显示

  最近开发网页,有许多组件需要js的方式引入
  有个需求是在引用js的层内直接显示插件,为保证通用性,事先不知道是哪个层.
  联想到flex 在页面引入embed 就是直接一个js
  查了下原来是使用 document.write()方法 ok! 24.htm insertAdjacentHTML插入新内容 在文本前容器内插入内容"); document.all.paral.insertAdjacentHTML("beforeEnd", "在文本后容器内插入内容"); document.all.paral.insertAdjacentHTML("beforeBegin ","在文本前容器外插入内容"); document.all.paral.insertAdjacentHTML("afterEnd","在文本后容器外插入内容"); } // --> style="fontsize:6;color='#ff00ff'" mce_style="fontsize:6;color='#ff00ff'">原来的内容 这是目标层1 haha我是插入的内容'); // --> 后面的层 这是目标层2 后面的层
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue2.0项目获取页面的canvas元素作为图片插入到xlsx文件并下载该文件,可以参考以下步骤: 1. 首先,需要在Vue组件引入xlsx和file-saver库。可以使用npm安装这两个库。 2. 在组件,使用ref属性获取canvas元素的引用。例如,可以给canvas元素添加ref="canvasRef"属性。 3. 在生成xlsx文件的方法,先获取canvas元素的引用。可以使用this.$refs.canvasRef获取该引用。 4. 使用canvas的toDataURL()方法获取canvas元素的base64编码字符串,作为图片的数据源。 5. 使用xlsx库的工具函数将base64编码字符串转换为二进制数据流,并插入到xlsx文件。 6. 最后,使用file-saver库将生成的xlsx文件下载到本地。 以下是示例代码: ```javascript <template> <div> <canvas ref="canvasRef"></canvas> <button @click="downloadExcel">下载Excel文件</button> </div> </template> <script> import XLSX from 'xlsx' import { saveAs } from 'file-saver' export default { methods: { downloadExcel() { const canvas = this.$refs.canvasRef const imgData = canvas.toDataURL('image/png') const wb = XLSX.utils.book_new() const ws = XLSX.utils.aoa_to_sheet([['Image'], [imgData]]) XLSX.utils.book_append_sheet(wb, ws, 'Sheet1') const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' }) const blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' }) saveAs(blob, 'example.xlsx') } } } function s2ab(s) { const buf = new ArrayBuffer(s.length) const view = new Uint8Array(buf) for (let i = 0; i < s.length; i++) { view[i] = s.charCodeAt(i) & 0xff } return buf } </script> ``` 在上面的代码,downloadExcel()方法会生成一个包含canvas元素的图片的xlsx文件,并将该文件下载到本地。注意,需要在方法使用s2ab()函数将字符串转换为ArrayBuffer类型的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值