ホームページ >ウェブフロントエンド >jsチュートリアル >z-blog SyntaxHighlighter の長いコードをラップできません (jquery に基づく)_jquery
SyntaxHighlighter 構文強調表示プラグインを使用している友人は、改行なしでコードが表示されるという問題に遭遇した可能性があります。この問題に対する解決策はインターネット上にありませんでした。今日、私は解決しました。解決策は実際には簡単です。それについて話しましょう...
解決策:
shCoreDefault.css ファイルを開き、.syntaxhighlighter textarea の定義を見つけて、次の文を最後に追加します。これで問題ありません。これは、コードが強制的に折り返されることを意味します。画面。
人によって呼び方が異なるため、必要に応じて CSS を変更できます
テストの結果、バージョン 3.08 では無効であることが判明しました。次のメソッドを参照してください。
私のブログは主にコード共有に関するものであるため、投稿されるコードの多くは非常に長いです。多くの場合、手動でラップする必要があります。
でも、今日はどうしても我慢できません。オンラインで解決策を見つけてください。
1. CSS の変更:
フォルダー内: zb_systemADMINueditorthird-partySyntaxHighlighter
ファイル shCoreDefault.pack.css に css を追加します:
body .syntaxhighlighter .line{ white-space: pre-wrap !important; } .syntaxhighlighter{ width:100%!important;margin:.3em 0 .3em 0!important;position:relative!important;overflow:auto!important;background-color:#f5f5f5!important;border:1px solid #ccc!important;word-break:break-all; }
2. JQuery コード:
$(function () { // Line wrap back var shLineWrap = function () { $('.syntaxhighlighter').each(function () { // Fetch var $sh = $(this), $gutter = $sh.find('td.gutter'), $code = $sh.find('td.code') ; // Cycle through lines $gutter.children('.line').each(function (i) { // Fetch var $gutterLine = $(this), $codeLine = $code.find('.line:nth-child(' + (i + 1) + ')') ; //alert($gutterLine); // Fetch height var height = $codeLine.height() || 0; if (!height) { height = 'auto'; } else { height = height += 'px'; //alert(height); } // Copy height over $gutterLine.attr('style', 'height: ' + height + ' !important'); // fix by Edi, for JQuery 1.7+ under Firefox 15.0 console.debug($gutterLine.height(), height, $gutterLine.text(), $codeLine); }); }); }; // Line wrap back when syntax highlighter has done it's stuff var shLineWrapWhenReady = function () { if ($('.syntaxhighlighter').length === 0) { setTimeout(shLineWrapWhenReady, 10); } else { shLineWrap(); } }; // Fire shLineWrapWhenReady();});
上記のコードはロングコードです。みんなが転職したかどうか見てみましょう? ?
これで、行番号の高さがコードの高さと一致します。