Ankündigung

Einklappen
Keine Ankündigung bisher.

Resourcen nachladen (Funktion mit Callback)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Resourcen nachladen (Funktion mit Callback)

    Hallöchen,

    zum Thema habe ich heute schon ein kleines Snippet gefunden das ich mir schon an meine Bedürfnisse angepasst habe.
    Im Grunde funktioniert es auch, was mir fehlt ist auch ein callback zusenden (false) wenn die Datei nicht geladen werden konnte.

    Code:
    this.load = function(source, callback){
        var type = ( source.indexOf('.js') > 0 ) ? 'script' : 'link'
        var newResource = document.createElement(type),
            prior = document.getElementsByTagName(type)[0];
    
        if( type == 'link' ){
            newResource.setAttribute('async', true);
            newResource.setAttribute('rel', 'stylesheet');
            newResource.setAttribute('href', source);
        }else{
            newResource.async = 1;
            newResource.src = source;
        }
        newResource.onload = newResource.onreadystatechange = function( _, isAbort ){
            if(isAbort || !newResource.readyState || /loaded|complete/.test(newResource.readyState) ){
                newResource.onload = newResource.onreadystatechange = null;
                newResource = undefined;
                if(!isAbort && callback){ callback(true/false); } // callback mit true / false
            }
        };
        prior.parentNode.insertBefore(newResource, prior);
    }
    ​​​​​​​
    Der Callback sofern die Datei geladen wurde funktioniert, zum testen nehme ich eine Datei auf meinem Server die nicht existiert (_.js), ich bekomme natürlich eine Error-Meldung im Browser (logisch) aber kann man da nicht trotzdem ein callback senden?
    Wäre ganz nett wenn eine Klasse iwo was nachträglich laden möchte die Möglichkeit hat zusagen hups da lief was falsch, führe eine Alternative aus...

    LG: Paykoman

  • #2
    https://requirejs.org/ ?

    Kommentar

    Lädt...
    X