SharePoint'e yüklediğim ve SP'nin kendi başlatılmasıyla bittikten sonra başlatılan init yöntemimi alma sorunlarım olan bir özel JS komut dosyası var.SharePoint başlatıldıktan sonra JavaScript işlevini çalıştır
_spBodyOnLoadFunctionNames
Ben ilk "resmi" bir şekilde çalıştı ve _spBodyOnLoadFunctionNames.push("myInitMethod");
ile vücut yükünün sonra infaz fonksiyonların Listeye benim işlev adı eklendi ama bu her sayfa yükleme, ben güvenemez üzerinde ateş etmiyor Bu konuda.
Sonra
ExecuteOrDelayUntilScriptLoaded ben ExecuteOrDelayUntilScriptLoaded(myInitMethod, "sp.js");
işlevini kullanmaya çalıştı ama ya her sayfa yükleme ateş etmez.
Her iki yol da çalışıyor - ancak her seferinde değil. Komut dosyanızın'dan önce yüklenmesine rağmen SP'nin başlatıldığını varsayalım. Bu çoğunlukla Chrome'da, ancak IE'de de olur.
SP hazır olduğunda komut dosyasının çalıştırıldığından nasıl emin olabilirim?
Not: Orada sayfa yüklendiğinde ilginç bir davranıştır ve SP nesne tamamen (ExecuteOrDelayUntilScriptLoaded kayıtlı işlevler çağrılmadıysa) başlatılmadı: En kısa zamanda "Şuraya tıklayarak olarak "Sayfada anchor (altkümelerin hiarşisini görebilirsiniz) aşağıdaki dosyalar yüklenir ve init işlevim (ExecuteOrDelayUntilScriptLoaded'de kayıtlı) aranır!
- core.debug.js
- sp.core.debug.js
- ScriptResx.ashx
- sp.ui.dialog.debug.js
- sp.runtime.debug.js
- sp.debug.js
Yani her şey o tıklama sonra iyi olduğunu - bu ama neden olmasın pageload üzerinde olması gerektiği gibi?