2016-08-07 60 views
1

Der Versuch, eine Chrome-Erweiterung zu machen, wo, wenn bestimmte Wörter auf der Zuführ-/Seite sind sie eine Nachricht in der Konsole gedruckt werdenwie zu überprüfen, ob Strings eines Arrays auf Seite sind reine js

heres meine aktuellen Code:

// Checking page title 
if (document.title.indexOf("Twitter") != -1) { 

//Checks if selected text is on page 
if (document.documentElement.innerText.indexOf('enjoys') > -1) { 

//if selected text is on page, print this 
console.log("it works!"); 
} else { 

// if selected text is not on page, print this 
console.log("selected text is not on page"); 
} 
} else { 

//if not on twitter print this 
console.log("title is not twitter"); 
} 

dieser Code funktioniert gut, aber es ist beschränkt auf nur ein Wort, das, wie Sie oben sehen können, zur Zeit ist das Wort genießt. Ich möchte es so ändern, dass ich das eine Wort durch ein Array mit mehreren Wörtern/Strings ersetzen kann.

können so sagen, ich habe das Array verdorben:

var spoiled = ["terrible", "hit", "pain"]; 

ich meine Erweiterung wollen alle überprüfen, ob diese Worte in verdorben auf meiner Twitter-Seite sind.

in reine JS, wie mache ich das?

Antwort

1

Sie könnten iterieren, und verwenden Sie every() für alle Wörter wollen

var spoiled = ["terrible", "hit", "pain"]; 

var result = spoiled.every(function(word) { 
    return document.documentElement.innerText.indexOf(word) > -1; 
}); 

if (result) { // all exists } 
+0

Danke! Das hat super funktioniert. – teresawithoutah

0

Sie wahrscheinlich zu überprüfen TreeWalker verwenden, um alle Textknoten zu suchen.

+0

Definitiv wird TreeWalker überprüfen, danke! – teresawithoutah