javascriptのsyntaxhighlighterを使うとき、PJAXの遷移後のページで、ハイライトしたい場合、どうすればいいですか?

ver 3.0.83です。
http://alexgorbatchev.com/SyntaxHighlighter/
ちなみに、自分でhtmlを書いて作った普通のサイトです。
お願いします。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2013/04/19 18:54:53

ベストアンサー

id:a-kuma3 No.1

回答回数4964ベストアンサー獲得回数2150

PJAX で遷移した後 (pjax:success) に、highlight メソッドを呼ぶ、かな。

$(document).on('pjax:success', function(e, data) {
    SyntaxHighlighter.highlight();
});
他8件のコメントを見る
id:kamesuta

autoloadだけをもう一度実行するやり方が分かりません。

2013/04/19 21:17:52
id:a-kuma3

「だけ」っていうのが、よく分からない。

SyntaxHilighter.autoload が呼ばれると、SyntaxHilighter.all の内容を置き換え、brush のスクリプトをロードし始める。
SyntaxHilighter.all を呼ぶと、内部的にフラグが立ち、そのフラグが立っていると、スクリプトのロードが終わったときに brush の指定が入ってる pre を探して、見た目を変えていく。
ぼくがソースを見た 3.0.83 では、見た目を変えた後に動的に読みこんだスクリプトタグを外しているので、ページの遷移をしていなくても、autoload + all をペアで呼んであげれば、PJAX で読み込んだ部分にも、適用されると思うんだけどなあ。

2013/04/19 22:22:42
  • id:a-kuma3
    最後のコメントを書いてから、二度ほどリクエストを飛ばしてもらったようですが、どのように書いて、きちんと動かないのでしょうか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません