2016-07-04 8 views
1

Ich versuche, ein Plugin mit dem Namen mark.js (https://markjs.io/) zu verwenden. Aus meiner Sicht mache ich alles, was sie sagen, aber die Chrome-Konsole hält Rückkehr die Fehler:Schwierigkeit mit JavaScript Highlight Plugin

Chrome error

Mein HTML-Code ist wie folgt:

<!doctype html> 
<html> 
    <head> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/7.0.0/mark.min.js"></script> 
     <script src="highlighter.js"></script> 
    </head> 
    <body> 
     <p>hello i am rob</p> 
    </body> 
</html> 

Mein JavaScript-Code, in einem Datei "highlighter.js" genannt, ist wie folgt:

var context = document.querySelector(".context"); 
var instance = new Mark(context); 
instance.mark("rob"); 

Ein Screenshot von der Plugin-Website:

Website Screenshot

Ich weiß nicht, was ich falsch mache. Danke für die Hilfe!

Antwort

2

Sie müssen einen Klassennamen von .context haben, damit es das als Kontext erkennt.

var context = document.querySelector(".context"); // <p> tag class name 
 
var instance = new Mark(context); 
 
instance.mark("rob");
<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/7.0.0/mark.min.js"></script> 
 

 
<!-- notice the class="context" on the paragraph tag --> 
 
<p class="context">hello i am rob</p>

https://jsfiddle.net/e6yzpton/

Um das gesamte Dokument markieren Sie so etwas tun könnte:

var context = document.querySelector("body"); 
 
var instance = new Mark(context); 
 
var paragraph = document.getElementsByTagName("p")[0].innerHTML; 
 
instance.mark(paragraph);
<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/7.0.0/mark.min.js"></script> 
 

 
<body> 
 
    <p>and it was all yellow</p> 
 
</body>

https://jsfiddle.net/e6yzpton/2/

+0

Wie würde ich das gesamte Dokument angeben? –

+0

Da Sie mir dabei geholfen haben, könnten Sie mir vielleicht auch bei dieser verwandten Frage helfen: https://stackoverflow.com/questions/38178774/using-plugins-in-chrome-extension –