簡體   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