Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
Context menu not working unless I have the extensions devtools open

Im trying to make a chrome extension that lets you add a highlighted piece of text into the DOM of the extension using the context menu. This piece of code works fine but only when I have the devtools from inspecting the extension open. Otherwise the context menu command does nothing. Any help would be appreciated thanks.

Javascript Code:

if (typeof (document) !== "undefined"){
    let wordList = []
    const ulEl = document.getElementById("ul-el")
    const CONTEXT_MENU_ID = "MY_CONTEXT_MENU"
    const localStorageStuff = JSON.parse(localStorage.getItem("text"))

    if (localStorageStuff){
        wordList = localStorageStuff
        console.log(wordList)
        render(wordList)
    }

    function render(words) {
        let renderWords = ""
        for (let i=0; i<words.length; i++) {
            renderWords += `
            <li>
                <a target='blank_' href='http://www.google.com/search?q=${words[i]}'>
                ${words[i]}
                </a>
            </li>
        `
        }
        ulEl.innerHTML = renderWords
    }

    function getword(info) {
        if (info.menuItemId !== CONTEXT_MENU_ID) {
            return;
        }
        console.log("Word " + info.selectionText + " was clicked.")
        wordList.push(info.selectionText)
        console.log(wordList)
        localStorage.setItem("text", JSON.stringify(wordList))
        render(wordList)
    }
    chrome.contextMenus.removeAll(function() {chrome.contextMenus.create({
    title: "Add log: %s", 
    contexts:["selection"], 
    id: CONTEXT_MENU_ID
    })})
    chrome.contextMenus.onClicked.addListener(getword)
}

manifest.json

{
    "name": "Memos",
    "version": "1.0",
    "manifest_version": 3,
    "action": {
        "default_popup": "index.html"
    },
    "permissions": [
      "contextMenus",
      "tabs",
      "storage"
    ],
    "background": { 
      "service_worker": "index.js"
    }
}
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda