JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 为什么document.execCommand(“copy”)在我的chrome扩展的内容脚本中不起作用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Why is document.execCommand(“paste”) not working in Google Chrome?6个
我想从我正在创建的chrome扩展中将一些数据写入clipborad.
在清单文件中,我赋予了clipboardRead和clipboardWrite的权限.

我使用这个功能,我找到了here

但它不起作用.好像是“document.execCommand(‘copy’);”无法工作.

我在内容脚本中写下所有这些代码.

谢谢
表现:

{
    "manifest_version":2,"name":"easyCopy","description":"just a small toll","version":"1.0.0","permissions":[
        "clipboardWrite","http://*/*","clipboardRead"
    ],"content_scripts":[
        {
            "matches":["http://*/*"],"js":["jquery-1.9.1.min.js","main_feature.js"]
        }
    ],"BACkground":{
        "persistent":false,"page":"BACkground.html"
    }
}
@H_418_4@main_feature.js:

copyOrderId();
function copyOrderId() {
    $(".order-num").click(function () {
        var curOrderNum = $(this).text();
        copyTextToClipboard(curOrderNum);
//        chrome.extension.sendmessage({method:"copy",content:curOrderNum},function (responsE) {
//            clog(responsE);
//        });
    });


}

function copyTextToClipboard(text) {
    var copyFrom = $('<textarea/>');
    copyFrom.text(text);
    $('body').append(copyFrom);
    copyFrom.SELEct();
    document.execCommand('copy',truE);
    copyFrom.remove();

}
function clog(messagE) {
    console.log(messagE);
}

BACkground.html只是一个基本的html主体的空白页面.

解决方法

谢谢大家,我最终使用了这个:

document.execCommand无法在内容脚本中使用.
相反,我将数据发送到后台页面,然后运行“copyTextToClipboard”功能.

请注意,您必须将JavaScript放入单个.js文件中,而不是将其与BACkground.html混合使用.

此外,textarea必须具有id或class属性.

大佬总结

以上是大佬教程为你收集整理的javascript – 为什么document.execCommand(“copy”)在我的chrome扩展的内容脚本中不起作用?全部内容,希望文章能够帮你解决javascript – 为什么document.execCommand(“copy”)在我的chrome扩展的内容脚本中不起作用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。