Chrome中的剪贴板问题

时间:2011-08-12 05:10:51

标签: javascript google-chrome

我已经尝试了几个小时来将数据复制到剪贴板中的chrome中,它在IE浏览器中运行时给出了一个错误示例代码如下

window.clipboardData.getData("Text")

6 个答案:

答案 0 :(得分:4)

Chrome不允许访问剪贴板。

它甚至没有window.clipboardData个对象。

解决方法是使用隐藏的Flash影片。

答案 1 :(得分:1)

您可以从函数中的事件中检索clipboardData。 在“粘贴”事件处理程序(纯Javascript)中,在JQuery事件处理程序中使用event.clipboardDataevent.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复制链接。参见:

enter image description here

答案 4 :(得分:0)

不知道此问题是否仍然存在,但可以使用Chrome:document.execCommand('paste')命令读取Windows剪贴板。

答案 5 :(得分:0)

对于仍在搜索中的人,此代码段可能很有用:

window.addEventListener('paste', function(event){
    event.preventDefault();

    var data = event.clipboardData.getData('text');

    alert(data);
});