繁体   English   中英

Firefox 扩展 - 如何从后台脚本向用户显示文本?

[英]Firefox extension - How to show text to user from background script?

这可能是一个非常基本的问题,但我在互联网上找不到答案。 我正在尝试做的是在单击上下文菜单项后向用户显示一些文本。 我首先考虑使用alert()但后来意识到,这在后台脚本中是不可能的。 有没有其他方法可以向用户显示一些文本? 任何想法,将不胜感激。

我的 background.js 文件:

browser.contextMenus.create({
    id: "showtext",
    title: "Show text",
    contexts: ["selection"]
});

browser.contextMenus.onClicked.addListener(function (info, tab) {
    switch (info.menuItemId) {
        case "showtext":
            {
                console.log(info.selectionText);
                // alert() doesn't work here
                // looking for alternative
            }
    }
});

仅供参考:我正在尝试创建一个小的加密和解密工具。

PS:我是扩展的初学者。 :(

您可以在页面中插入元素:

const node = document.createElement('div');
node.textContent = "This page has been eaten";
document.body.appendChild(node);

根据需要对其进行样式设置,以使其显示为您需要的样式。

MDN: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Modify_a_web_page

对于以后发现这个问题的每个人:

我最终打开了一个新选项卡并在其中运行了一个脚本:

browser.tabs.create({ url: "/pages/mypage.html" }).then(() => {
    browser.tabs.executeScript({
        code: "alert(`" + mytext + "`);"
    });
});

PS:我没有使用alert,这只是一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM