前端vue复制html元素到word中,并保留样式

这篇文章介绍了如何使用JavaScript的DOMSelectionAPI来选择并复制HTML页面中的文本内容,包括创建范围对象、操作选区和执行浏览器复制命令的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
	<div>
		<div v-html="html" id="copy-box">
			<img src="https://newbbs-fd.zol-img.com.cn/t_s1200x5000/g7/M00/09/06/ChMkLGOVx0aIQevNAAMVS0oNN1EAAKk2QDJVP4AAxVj249.jpg">
			<h1>我是标题</h1> 
			<p style="color: blue; font-style: italic;">我是文本。</p> 
			
		</div>
		<div @click='copyToWord'>按钮</div>
	</div>
</template>
<script>
	export default {
		methods:{
			//可以复制文本样式和图片,                视屏元素有待研究
			copyToWord(){
      			let source = document.getElementById('copy-box');// 获取样式文本所在的容器元素   或者你可以用$refs
      			let range = document.createRange();// 创建一个范围对象
		        let selection = window.getSelection();// 获取当前选区
		        range.selectNodeContents(source);// 将source容器中的所有内容插入范围对象
		        selection.removeAllRanges(); // 先清除选区内容
		        selection.addRange(range); // 将范围对象添加到选区
		        document.execCommand('copy');// 执行浏览器复制操作
		        selection.removeAllRanges();// 清除选区内容
		        alert('复制成功');//提示用户复制成功
			}
		}
	}
</script>
<style>
#copy-box{
	border: 1px solid #ccc;
	width: 1200px;
	height:600px;
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值