window.clipboardData.getData(“Text”)在chrome中不起作用

时间:2013-12-11 01:50:24

标签: javascript google-chrome

我有这个javascript函数:

function maxLengthPaste(field,maxChars)
{
    event.returnValue=false;
    if((field.value.length + window.clipboardData.getData("Text").length) > maxChars) {
        field.value = field.value + window.clipboardData.getData("Text").substring(0, maxChars - field.value.length);
        return false;
    }
    event.returnValue=true;
}

window.clipboardData.getData("Text")在Chrome浏览器中不起作用 是否有任何crossbrowser代码替代它?

2 个答案:

答案 0 :(得分:12)

不,window.clipboardData没有跨浏览器支持。它仅受IE支持。对window.clipboardData的支持通常被认为是一个安全问题,因为它允许您访问的每个网站都能读取当时发生在剪贴板中的任何内容。

在Chrome中,您可以在处理粘贴事件时阅读clipboardData

document.addEventListener('paste', function (evt) {
  console.log(evt.clipboardData.getData('text/plain'));
});

答案 1 :(得分:3)

跨浏览器方法应为

document.addEventListener('paste', function (evt) {
  clipdata = evt.clipboardData || window.clipboardData;
  console.log(clipdata.getData('text/plain'));
});