ver 3.0.83です。 http://alexgorbatchev.com/SyntaxHighlighter/ ちなみに、自分でhtmlを書いて作った普通のサイトです。 お願いします。
PJAX で遷移した後 (pjax:success) に、highlight メソッドを呼ぶ、かな。
$(document).on('pjax:success', function(e, data) { SyntaxHighlighter.highlight(); });
ありがとうございます。もう1つききますが、Autoloderを使ってる場合、遷移後のページのpreの構文に、対応するる場合、どうすればよいですか?
Autoloader って、↓のことですか?http://code.google.com/p/jquery-autoloader/complete で、highlight メソッドを呼べば良いんじゃないかと思います。
ごめんなさい。syntaxhighlightrの一緒に入っている、shAutoloader.js です。お願いします。
syntaxhighlightrの一緒に入っている、shAutoloader.js です。
へぇ、こんなのができたんですね。変にソースを読まずに、all メソッドで、って書けば良かった orzhighlight メソッドではなく、auto メソッドを使ってみてください。
$(document).on('pjax:success', function(e, data) { SyntaxHighlighter.all(); });
allではできず、autoでもできませんでした。highlight()ではできたので、autoloder専用のメソッドを教えてください。 SyntaxHighlighter.autoloader();//←ここってどうすればいいの? SyntaxHighlighter.highlight();こんなのも試したけど、できませんでした。autoloaderのメソッドを教えてください。
ごめんなさい。auto は、all の書き間違い。新しい SyntaxHighlighter のソースも読んでみた。こんな感じで行けると思う(自信ない)。
$(document).on('pjax:success', function(e, data) { SyntaxHighlighter.autoload( /* 必要な brush の定義 */ ... ); SyntaxHighlighter.all(); });
SyntaxHighlighter.autoloader();//←ここってどうすればいいの?
これについては、↓を読むと分かると思う。http://www.872style.com/872/memo/web/SyntaxHighlighter.php
pjaxサイトでは、やはり手動で、1つずつ、ていねいに読み込んでいった方がいいのですね。
あらっ、閉まっちゃった。autoload の書き方が分からなかったんでしょうか?それとも、書いても期待した通りに動かない?
autoloadだけをもう一度実行するやり方が分かりません。
「だけ」っていうのが、よく分からない。SyntaxHilighter.autoload が呼ばれると、SyntaxHilighter.all の内容を置き換え、brush のスクリプトをロードし始める。SyntaxHilighter.all を呼ぶと、内部的にフラグが立ち、そのフラグが立っていると、スクリプトのロードが終わったときに brush の指定が入ってる pre を探して、見た目を変えていく。ぼくがソースを見た 3.0.83 では、見た目を変えた後に動的に読みこんだスクリプトタグを外しているので、ページの遷移をしていなくても、autoload + all をペアで呼んであげれば、PJAX で読み込んだ部分にも、適用されると思うんだけどなあ。
これ以上回答リクエストを送信することはできません。制限について
ログインして回答する
autoloadだけをもう一度実行するやり方が分かりません。
2013/04/19 21:17:52「だけ」っていうのが、よく分からない。
2013/04/19 22:22:42SyntaxHilighter.autoload が呼ばれると、SyntaxHilighter.all の内容を置き換え、brush のスクリプトをロードし始める。
SyntaxHilighter.all を呼ぶと、内部的にフラグが立ち、そのフラグが立っていると、スクリプトのロードが終わったときに brush の指定が入ってる pre を探して、見た目を変えていく。
ぼくがソースを見た 3.0.83 では、見た目を変えた後に動的に読みこんだスクリプトタグを外しているので、ページの遷移をしていなくても、autoload + all をペアで呼んであげれば、PJAX で読み込んだ部分にも、適用されると思うんだけどなあ。