从Web扩展插入可编辑字段中的文本

时间:2017-10-15 16:47:45

标签: javascript firefox-webextensions

我正在开发一个WebExtension,其中一个功能是在可编辑字段上有一个上下文菜单项,选中后会打开一个确认窗口,然后将一个值粘贴到可编辑字段中。

目前我有上下文菜单项,它打开了窗口,但是将一些文本插入到可编辑字段中证明是棘手的。我到目前为止最接近的是:

MyLayoutManager

整个let code = 'setTimeout(function() {document.designMode = "on";document.execCommand("insertText", false, "apple");document.designMode = "off";}, 1000);'; browser.tabs.executeScript(parent_tab_id, {"code": code}); window.close() 似乎有点奇怪,代码不能很可靠地工作。有一个更好的方法吗?问题的根源是,我没有找到任何方法来查找被点击的可编辑字段。

1 个答案:

答案 0 :(得分:0)

我会这样做:

let code = 'document.activeElement.value = "apple";';
browser.tabs.executeScript(parent_tab_id, {"code": code});

顺便说一句,后台脚本中的window.close是browser.tabs.remove(currentTabId)。您可以通过查询选项卡API(示例2)获取当前选项卡ID:https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/query#examples