基本的に SharePoint ページに便利なレイヤーを追加するいくつかの小さな機能を作成しようとしています。これらの「便利なレイヤー」は、基本的に ScripLink 機能でラップされた JQuery です。たとえば、JQuery を使用してページ上のすべての複雑なドロップダウンを無効にするものがあります。すべての日付フィールドをより優れた日付フィールドとより優れた日付ピッカーに置き換える別のものがあります。彼らが Time に使うばかげたドロップダウンを取り除いたものをもう 1 つ持っています。これは、誰かが 1995 年に書いたようなものです。
これらの機能はすべて自己完結型で独立したものにしたいと考えています。しかし、私はいくつかの問題に遭遇しました。
最初の問題は、チェックしても jquery や jquery-ui がロードされているかどうかが常にわからないことです。たとえば、最初の機能では、(typeof JQuery == 'undefined') かどうかをチェックします。これは、表示しているページに JQuery が含まれている場合に正常に機能します。そうでない場合は、それも結構です..追加します。しかし、スクリプトリンクに別のjquery機能がある場合、最初のスクリプトリンクが追加される前に (typeof JQuery == 'undefined') かどうかをチェックします。レースコンディション!
2 つ目の、より深刻な問題は、私が見ているページに古いバージョンの jquery-ui (1.8.12) があり、私が知る限り、Better で使用している日付ピッカーをサポートしていないことです。日付機能。その機能で使用しているバージョンは 1.10.2 です。しかし、機能が実行され、jquery.ui が定義されていることがわかると、それは定義されません。これは、datepicker が未定義になることを意味します。
ページで jquery ライブラリを定義して登録するためのより良い方法はありますか?特定のサイトで必要な JQuery SP 機能を自由に組み合わせることができますか?