从Chrome扩展程序在网页文本字段中插入值

j1dl9f46  于 9个月前  发布在  Go
关注(0)|答案(1)|浏览(141)

我已经开发了一个Chrome扩展程序,它从剪贴板复制数据,并使用Ctrl+m键粘贴值一个接一个的文本字段,这是在扩展本身。现在使用相同的热键,如上面(Ctrl+m),我想在网页中的文本字段粘贴文本。下面是代码片段和屏幕截图

if(event.ctrlKey && event.key === 'm'){
            var shiftedVal=temp.shift(); //temp contains clipboard data
            if(shiftedVal!=null){
            //document.activeElement.value=shiftedVal; 
            document.getElementById("textfield").value=shiftedVal;
            }else{
                alert("No more values. Que is Empty");
            }

字符串
我尝试同时使用document.activeElement和document.getElementById,但当我点击网页中的文本字段时,它失去了焦点,并且没有粘贴任何值。

e5nqia27

e5nqia271#

下面是一个示例:
index.jspopup.js

let copybtn = document.getElementById("btn")
let txt_area = document.getElementById("tarea")

copybtn.addEventListener("click", async () => {
    const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
    chrome.tabs.sendMessage(tab.id, { type: "from_index", message: txt_area.value})
})

字符串
content.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse){
        if(request.type === "from_index"){
            // get the target textarea and assign value
            document.querySelector('td[class="exampleDisplay"]>textarea').value = request.message
            sendResponse({})
        }
        return true
    }
)


希望有帮助。

相关问题