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

Yan*_*pth 6 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;
}
Run Code Online (Sandbox Code Playgroud)

window.clipboardData.getData("Text")不会在Chrome浏览器的工作是否有任何跨浏览器的代码来代替它?

dre*_*ntz 14

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

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

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


Gio*_*osK 5

跨浏览器的方法应该是

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