Ich habe versucht, die Antwort auf diese Frage für etwa eine Stunde jetzt, und kann nichts finden. Ich erstelle eine Chrome-Erweiterung, die "Hillary Clinton" durch "Donald Trump" ersetzt. Sie funktioniert auf allen Websites mit Ausnahme von Facebook. Es funktioniert mit den Namen von Personen, die angezeigt werden, wenn Sie es suchen, aber nicht für die Posts. Mein Code:Chrome Erweiterung, die Worte ersetzt funktioniert nicht auf Facebook
walk(document.body);
function walk(node)
{
var child, next;
switch (node.nodeType)
{
case 1: // Element
case 9: // Document
case 11: // Document fragment
child = node.firstChild;
while (child)
{
next = child.nextSibling;
walk(child);
child = next;
}
break;
case 3: // Text node
handleText(node);
break;
}
}
function handleText(textNode)
{
var v = textNode.nodeValue;
var z = textNode.nodeValue.nodeValue;
v = v.replace(/\bHillary Clinton\b/gi, "Donald Trump");
textNode.nodeValue = v;
}
Mein Manifest:
{
"manifest_version": 2,
"name": "Hillary Trump",
"description": "CHANGE THIS!!!",
"version": "1.0",
"content_scripts": [
{
"matches": [
"*://*/*",
"https://*.facebook.com/*"
],
"js": [
"jquery.js",
"content2.js"
],
"run_at": "document_end"
}
],
"icons": { "16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png" },
"browser_action": {
"default_popup": "popup.html"
}
}
Vielleicht wird Ihre Walk-Funktion ausgeführt, bevor die Seite geladen wird. Facebook-Seiten sind sehr dynamisch, Sie müssen dies in Ihrem Code berücksichtigen –
@JaromandaX, Entschuldigung, ich bin neu, wie würde ich das tun? –
Verwenden Sie [Mutation Observer] (https://developer.mozilla.org/en/docs/Web/API/MutationObserver) –