Nemůžu efekt DOM příčinou "Odmítl vykonat inline event handler" chyba. -Chrome Rozšíření

0

Otázka

Jsem oftenly ztrácet čas tím, že čte komentáře z youtube při studiu. Tak jsem přišel s nápadem, se rozhodl pro rozšíření, které chtěl skrýt sekci komentáře. Našel jsem ID prvku, jednoduché rozšíření, ale to nefungovalo, protože došlo k následující chybě:

Můj souboru je html soubor:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Comminator | Youtube Comment Terminator</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <button id="main" onclick="hide()">Terminate</button>
    <script type="text/javascript">
        var comments = document.getElementById("comments"); //"comments" is the ID of comments section in youtube
        function hide() {
        comments.style.display = "none";
        }
    </script>
</body>
</html>
Json Souboru:

{
    "manifest_version": 2,
    "name": "Comminator",
    "description": "Youtube Comment Hider",
    "version": "1.0",
    "icons": {"128": "icon_128.png"},
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": ["activeTab"]
}

Nejsme schopni rušení prvků ? Nemá chrome povolit ?

1

Nejlepší odpověď

1
  • Zdá se, ne jako inline kód onclick="hide()",, takže použití eventListener místo
  • tam jsou četné komentáře s id=komentář. Nemohou být přístupné getElementById

const comments = document.querySelectorAll("[id=comment]"); //"comment" is the ID of each comment in youtube

document.getElementById("main").addEventListener("click", function(e) {
  e.preventDefault(); // in case the button ends up in a form
  comments.forEach(comment => comment.style.display = "none"))
})

Případně jen bookmarklet:

javascript:(() => document.querySelectorAll("[id=comment]").forEach(comment => comment.style.display = "none"))()

Vytvořit záložky a změnit URL na výše uvedené, a bude skrývat, když na něj kliknete

2021-10-24 13:42:34

Kód nefungoval, ale já jsem se dozvěděl o bookmarklets. Když jsem klepněte na bookmarklet, youtube zhasne a zobrazí pouze text "none". Možná, že ID bylo špatně. Vadilo by vám, najít a vyzkoušet to sám... Tento bookmarklet nefunguje pro mě. Komentáře klidu a já jsem ještě dostat chybu
Ömer Can

Aktualizoval jsem kód. Jejich připomínky mají všichni id=komentář a nemůžete získat více, než jeden s getElementById
mplungjan

Bookmarklet, funguje nyní. Addon mi neukázala žádné chyby, ale taky nefunguje. Im v pořádku s tím, a díky za vaši pomoc...
Ömer Can

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................