Mit jQuery / javascript, Wie um zu prüfen, ob JS Datei ( SP.JS) ist bereits genannt, die in einer Seite?
Möchte ich überprüfen, ob ein bestimmtes JS-Datei ist schon geladen im Dokument.bereit.
Etwas wie dieses:
if(file already called/loaded) { //my code }
else {//some other code}
JS-Datei ist nicht irgendein plugin.
Seine im Grunde eine JS-Datei, die im Zusammenhang mit SharePoint wie Sp.JS.
Wir kennen nur den Namen der Datei.
[Update Hinzugefügt code ]
Habe ich Hinzugefügt, den folgenden code und es wird eine Fehlermeldung in der Konsole : SP.Runtime.js ist bereits geladen.
Wenn ich entfernen Sie das laden von SP.Runtime.js mein code funktioniert nicht in einigen Seiten, wo Runtime.Js ist standardmäßig nicht geladen.
$(document).ready(function() {
var scriptbase = _spPageContextInfo.webServerRelativeUrl + "/_layouts/15/";
$.getScript(scriptbase + "init.js",
function() {
$.getScript(scriptbase + "SP.Runtime.js",
function() {
$.getScript(scriptbase + "SP.js",
function() {
$.getScript(scriptbase + "SP.Taxonomy.js",
function() {
context = SP.ClientContext.get_current();
//My custom function //
});
});
});
});
});
Bitte vorschlagen.
Dank
if($("script[src='SCRIPT_URL']").length) { //do stuffs }
stackoverflow.com/questions/1293367/... Besuchen Sie diese
noch keine Antwort? wenn ja, bitte markieren.
Ich kann nicht glauben, diese Frage ist nicht eine Antwort noch, obwohl die SharePoint-JavaScript-Bibliotheken benötigen nicht gezwungen werden, die Last, die einzige Voraussetzung ist, laden Sie den code im richtigen moment-wie erwähnt-in beiden Antworten unten. Ich denke, ein moderator sollte einen Blick auf diese.
InformationsquelleAutor user2598808 | 2015-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
SharePoint-JavaScript-Library, insbesondere SP.SOD - namespace enthält Methoden zum laden/Gewährleistung JavaScript-Dateien.
SP.SOD.executeOrDelayUntilScriptLoaded - führt die angegebene
Funktion, wenn die Datei geladen wird, zum Beispiel:
In diesem Fall
myfunc
aufgerufen nach sp.js Datei ist geladenSP.SOD.executeFunc - sorgt dafür, dass die angegebene Datei
die angegebene Funktion enthält wird geladen und dann läuft das
angegebene callback-Funktion, zum Beispiel:
Das Verhalten ist ähnlich dem vorherigen Beispiel, aber der Hauptunterschied
dass diese Funktion auch unterstützt load-on-demand scripts.
InformationsquelleAutor Vadim Gremyachev
Wenn Sie müssen nur sicherstellen, dass spezifische, native JS-Dateien von SharePoint geladen werden, vor der Ausführung Ihres Codes dann Vadim ' s Antwort ist alles, was Sie brauchen, aber wenn Sie benötigen, um sicherzustellen, das laden der Seite alle Elemente einschließlich aller JS-Dateien, dann sollten Sie
window.onload
.Bitte werfen Sie einen Blick auf diese Seite, wo die Menschen diskutieren über die Unterschiede zwischen
windows.onload
und$(document).ready()
.Fenster.onload-vs $(document).ready()
UPDATE:
Falls Sie mit Ihrem code in jeder Seite im SharePoint-dann brauchen Sie nicht zu zwingen, das laden der native JS-Dateien, müssen Sie nur ausführen, Ihren code im richtigen moment das laden der Seite Prozess.
Versuchen Sie es mit
$(window).load
oderwindow.onload
statt$(document).ready
B.:$(window).load(function(){
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function (){
context = SP.ClientContext.get_current();
//your code goes here...
});
});
Ich habe meine Antwort aktualisiert
danke, das hat mir geholfen.
Vielen Dank, das hat mir wirklich geholfen! im IE war es gut funktioniert mit (Dokument).bereit, aber nicht mit Chrome. (Fenster).laden Sie dieses problem behoben 🙂
InformationsquelleAutor Isaac E. Krauss