0

XML メッセージを美しくするために、Alex Gorbatchev のSyntaxHighlighter プラグインを使用しています。小さなメッセージには魅力的に機能しますが、大きなメッセージ (最大 10k 行) にはかなりの時間がかかり、プラグインの動作が完了するまでページがフリーズします。ここで、読み込みスピナーをシンタックスハイライターにアタッチしたいので、プラグインが動作している間は「読み込み中..」というメッセージが表示され、プラグインが終了すると消えます。私はすでにスピナーを持っていますが、それを SyntaxHighlighter にフックする方法がわかりません。私が見つけたロード スピナーに関するすべての情報は、Ajax 呼び出しでそれらを使用することに関連していました。プラグインの API を調べても役に立ちませんでした。完了を通知する何らかのイベントを探していましたが、JS/jQuery は初めてなので、簡単に見逃す可能性があります。

私の質問は、ロード スピナーを SyntaxHighlighter プラグインにバインドするにはどうすればよいですか? どうにかして jQuery 遅延オブジェクトを使用するか、イベントをプラグインに手動でアタッチする必要がありますか?

どんな情報でも大歓迎です。

4

1 に答える 1

1
<script type="text/javascript">
    SyntaxHighlighter.all();
    $(window).load(function () {
        $('#spinner').hide(); // Hide after load is completed
    });
</script>

Syntax Highlighter は .ready では実行されませんが、.load() が完了すると完了します。そのため、jquery を使用してロードが完了したときに要素 (ここでは id="spinner") を非表示にします。

これを理解するのにも時間がかかりました。

于 2015-01-08T04:40:15.927 に答える