Javascript 剪贴板通过背景页粘贴只工作一次
将我的Firefox扩展转换为web扩展,使用FF 60从剪贴板粘贴时遇到麻烦 我从我的后台脚本(定义它的地方)调用以下函数: 然而,这只起作用一次。当我单击调用此函数的按钮时,Javascript 剪贴板通过背景页粘贴只工作一次,javascript,google-chrome-extension,firefox-addon-webextensions,Javascript,Google Chrome Extension,Firefox Addon Webextensions,将我的Firefox扩展转换为web扩展,使用FF 60从剪贴板粘贴时遇到麻烦 我从我的后台脚本(定义它的地方)调用以下函数: 然而,这只起作用一次。当我单击调用此函数的按钮时,res将在第一次为true,以后每次为false 我曾尝试将文本区域硬编码到背景html页面中,并以这种方式进行,但没有成功。权限等必须是正确的,因为它只工作一次 编辑: 我对代码做了一些修改,使其在Chrome中工作。它在FF中仍然不起作用。根据MDN,我觉得很好。可以尝试添加catch语句以确保它确实没有粘贴。如果没
res
将在第一次为true,以后每次为false
我曾尝试将文本区域硬编码到背景html页面中,并以这种方式进行,但没有成功。权限等必须是正确的,因为它只工作一次
编辑:
我对代码做了一些修改,使其在Chrome中工作。它在FF中仍然不起作用。根据MDN,我觉得很好。可以尝试添加catch语句以确保它确实没有粘贴。如果没有粘贴,execCommand调用将返回false。可能是Firefox的bug。。。
var readClipboard = function() {
let txtToPaste = document.createElement('textarea');
txtToPaste.id = "txtToPaste";
document.body.appendChild(txtToPaste);
txtToPaste.focus();
let res = document.execCommand("paste");
let result = txtToPaste.value;
txtToPaste.parentNode.removeChild(txtToPaste);
return result;
}