http://alexgorbatchev.com/SyntaxHighlighter/のjsSyntaxHighlighter3.0.83を使用しています
私は今、全世界をグーグルで検索しているように見えますが、改行を有効にする方法を実際に見つけることができません。Instad私は水平スクロールバーを取得します。これは時々良いですが、私のシナリオではそうではありません。
例では
これを回避する方法を知っている人はいますか?
http://alexgorbatchev.com/SyntaxHighlighter/のjsSyntaxHighlighter3.0.83を使用しています
私は今、全世界をグーグルで検索しているように見えますが、改行を有効にする方法を実際に見つけることができません。Instad私は水平スクロールバーを取得します。これは時々良いですが、私のシナリオではそうではありません。
例では
これを回避する方法を知っている人はいますか?
私は実際にはSyntaxHighlightを使用していませんが、SyntaxHighlightが使用するorタグwhite-space: pre-wrap
にCSSスタイルを添付することは可能のようです。<pre>
<script>
HTML(を使用<pre>
):
<pre class="brush: js" class="syntaxhighlight">
/**
* SyntaxHighlighter
*/
function foo()
{
if (counter <= 10)
return;
// it works!
}
</pre>
HTML(を使用<script>
):
<script type="syntaxhighlighter" class="syntaxhighlight brush: js"><![CDATA[
/**
* SyntaxHighlighter
*/
function foo()
{
if (counter <= 10)
return;
// it works!
}
]]></script>
CSS:
.syntaxhighlight {
white-space: pre-wrap;
}
ラップはオプションではなくなりましたが、機能を簡単に追加できます。
これをcssに追加して、行を分割します
body .syntaxhighlighter .line {
white-space: pre-wrap !important; /* make code wrap */
}
行番号を修正するには、以下のスクリプトを使用します。
function lineWrap(){
var wrap = function () {
var elems = document.getElementsByClassName('syntaxhighlighter');
for (var j = 0; j < elems.length; ++j) {
var sh = elems[j];
var gLines = sh.getElementsByClassName('gutter')[0].getElementsByClassName('line');
var cLines = sh.getElementsByClassName('code')[0].getElementsByClassName('line');
var stand = 15;
for (var i = 0; i < gLines.length; ++i) {
var h = $(cLines[i]).height();
if (h != stand) {
console.log(i);
gLines[i].setAttribute('style', 'height: ' + h + 'px !important;');
}
}
}
};
var whenReady = function () {
if ($('.syntaxhighlighter').length === 0) {
setTimeout(whenReady, 800);
} else {
wrap();
}
};
whenReady();
};
lineWrap();
$(window).resize(function(){lineWrap()});