前回の記事でサイボウズ Office on cybozu.com のJSカスタマイズ機能を使った事例を紹介しました。 その際 jQuery を使用したわけですが、jQuery を使用したわりには、$(document).ready(function () {}) を使わずに、 addEvent 関数を定義しそれを使用していました。
その理由としては、document.write() で JavaScript を読み込んだ場合、必ずしもその直後で $ や jQuery が使用できるわけではないからです。使用できるブラウザもあります。使用できない場合はどのような過程をふむかというと、document.write() で JavaScript を読み込んだ場合、読み込み元のJSファイルの実行がすべて完了した後に、読み込み先のJSファイル(jQuery のファイル)が実行され、$ や jQuery が使用できるようになります。
そこで、JSカスタマイズ機能に使用するJSファイルで jQuery の読み込みと $(document).ready(function () {}) を同時に記述する方法を考えていました。詳しくはソースコードのコメントで解説します。カスタマイズ内容のサンプルとして、ワークフローの承認・決裁の際にボタン押下の後、確認ダイアログをポップアップすることを行ってみます。
setInterval() などを使用して、時間差で window.jQuery をチェックする方法もあると思います。 今回は setInterval() を使わない方法を考えてみました。
0 件のコメント:
コメントを投稿