gpt4 book ai didi

javascript - 如何在 Chrome 上修改剪贴板粘贴数据

转载 作者:行者123 更新时间:2023-12-04 17:46:47 25 4
gpt4 key购买 nike

我满足一个要求,用户可以从任何其他资源(如word,excel,notepad++)复制数据,然后粘贴到我的网页,应用程序必须在Chrome上运行。如果它包含一些无效数据,我必须修改粘贴数据。

我试过clipboardData.setData 但它只适用于 IE,下面是我的代码:

<script type="text/javascript">
var elEditor = document.getElementById("editor");

elEditor.addEventListener('paste', function(e){
var clipboardData = e.clipboardData || e.originalEvent.clipboardData || window.clipboardData;
var text = clipboardData.getData('Text');
console.log("---before:\t"+text);
text = text.replace(/\d+/,new Date().getTime());
//don't change the pasted data on Chrome page!That's the key point make it fail
clipboardData.setData('Text',text);
console.log("---after:\t"+text);
return false;
});

</script>

我可以看到 Chrome 控制台中的数据发生了变化,但是在网页中,数据仍然没有变化!谁能帮帮我?

如果不使用clipboardData.setData,有没有其他方法可以做同样的事情?

提前致谢!

最佳答案

对于'paste'事件,你需要改变字段的内容,因为粘贴已经发生了;

示例:https://jsfiddle.net/o2gxgz9r/75276/

        $('.cpf_cnpj').each(function(){
$(this).on('paste', function(e){

var clipboardData = e.clipboardData || e.originalEvent.clipboardData || window.clipboardData;
if (clipboardData){
var text = clipboardData.getData('text');
text = text.replace(/\./g, '').replace(/-/g, '').replace(/\//g, '');
e.target.value = text;
e.preventDefault();
}
});
});

关于javascript - 如何在 Chrome 上修改剪贴板粘贴数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48094249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com