14

したがって、明らかにこれが機能しないため、テキスト領域で highlight.js を使用するのに苦労しています:

<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<link rel="stylesheet" href="styles/default.css">
<script src="highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<form>
    JavaScript Injection: <br> 
<pre>
<code>
<textarea name="js_execute" cols="50" rows="10" "></textarea>
</code>
</pre>
<input type="button" name="Inject_Execute_Button" value = "Inject" onclick="executeJS()" >
</form>

<script type="text/javascript">
 function executeJS()
 {
     alert("Wohoo");
 }
</script>


<style type ="text/css">

</style>
</body>
</html>

これには簡単な答えがあると確信しているので、詳しくは説明しませんが、最後に、JavaScript で強調表示されたテキスト領域にコードを入力することをお勧めします。

4

3 に答える 3

21

簡単な答えは、コンテンツがページの一部ではなく、それ自体でスタイルを持つことができないため、highlight.js はテキストエリアでは機能しないということです。ブラウザーで highlight.js を使用してテキスト エディターが必要な場合は、おそらくcontenteditablehljs.highlight()を調べて、変更のたびにそのコンテンツを呼び出すことができるようにする必要があります。ただし、これが成功した実装については知りません。

于 2014-09-05T17:43:06.160 に答える
0

タグ内のコードが強調表示されることは、使用方法のページから理解しています。<pre><code>他のコンテナからではありません。

<pre><code>あなたの例では、テキストエリアのコンテンツではなく、タグ内にあるため、テキストエリア自体のhtmlを強調表示します。

于 2014-08-21T20:19:39.453 に答える