我已经尝试了几个小时来将数据复制到剪贴板中的chrome中,它在IE浏览器中运行时给出了一个错误示例代码如下
window.clipboardData.getData("Text")
答案 0 :(得分:4)
Chrome不允许访问剪贴板。
它甚至没有window.clipboardData
个对象。
解决方法是使用隐藏的Flash影片。
答案 1 :(得分:1)
您可以从函数中的事件中检索clipboardData。
在“粘贴”事件处理程序(纯Javascript)中,在JQuery事件处理程序中使用event.clipboardData
或event.originalEvent.clipboardData
答案 2 :(得分:1)
Chrome确实可以让您访问粘贴事件,您可以创建一个类命名结构来利用它。在这里,我将更新RadMaskedTextBox以在父span上使用css类,然后使用以下代码,其中“NumericBlur”是我的输入框的父wrappercssclass。
<telerik:RadMaskedTextBox ID="SSN" runat="server" Width="100" RequireCompleteText="false" WrapperCssClass="NumericBlur rdfInput" Mask="###-##-####"></telerik:RadMaskedTextBox>
window.addEventListener('paste', function (event) {
var data = event.clipboardData.getData('text');
if (event.srcElement.parentElement.className.contains("NumericBlur")) {
event.srcElement.value=data.replace(/\D/g, "");
}
});
答案 3 :(得分:0)
这些天浏览器不允许这样做。您必须使用隐藏的Flash对象才能复制到剪贴板。
以下是剪贴板系统的快照副本zClip。您也可以尝试ZerioClipboard。
如果大多数网站希望将某些内容复制到剪贴板,则会执行此操作。 Bit.ly使用Flash复制链接。参见:
答案 4 :(得分:0)
不知道此问题是否仍然存在,但可以使用Chrome:document.execCommand('paste')命令读取Windows剪贴板。
答案 5 :(得分:0)
对于仍在搜索中的人,此代码段可能很有用:
window.addEventListener('paste', function(event){
event.preventDefault();
var data = event.clipboardData.getData('text');
alert(data);
});