如下代码,可以做到复制img tag到剪切板,但要paste到不支持html标记的地方就无效了:
document.addEventListener('copy', function(e) {
var type = "image/" + (localStorage.screenshotFormat || 'png');
e.clipboardData.setData('text/html', '<img src="' + ps.imgData + '" />');
e.preventDefault();
});
怎样使能够支持setData('text/png', ps.imgData)呢?
imgData是通过canvas生成的base64 string.
不用Flash
使用selectRegion + document.exeCommand的方法也测试过,无效. 这种方式,text可以,image无效.
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
直接copy是不行的。没有那么大的权限。或者有一种借助flash的办法。现在FF默认都禁用了flash的。因此不太靠谱
推荐一个库给你吧:clipboard.js
不使用flash的轻量级库
base64不也是字符串形式?为啥用
document.execCommand('copy')
不行?