2016-04-25 22 views
2

Kürzlich habe ich ein sehr seltsames Verhalten der wrap() -Methode von jquery begegnet. Ich habe ein Banner-System und eine andere Website, die dieses System verwendet. Ich versuche, die jquery-Version auf den neuesten verfügbaren 1x-Zweig zu aktualisieren. Aber ich benutze einige alte Plugins und möchte, dass sie mit migrate Fallback arbeiten.jquery wrap() -Funktion triggert Fehler "document.createDocumentFragment ist keine Funktion" auf dynamischen Inhalt laden

viele Stunden zu verbringen, definiert ich, dass dynamische Inhalte Belastung durch document.write die Arbeit der Wickel wirkt(), die sehr seltsame Fehler auslöst

TypeError: document.createDocumentFragment is not a function safeFrag = document.createDocumentFragment();

error

ich mit isolierten ein paar Experimente hatten Code und definiert, dass wrap() funktioniert, wenn ich nicht migrieren Fallback verwenden oder nicht Inhalt laden von document.write verwenden.

Ich habe keine Ideen, warum es so funktioniert, vielleicht kann mir jemand helfen? I aufgebaut Erwartet einige Beispiele

1), um zu sehen "Wrapping DONE" https://jsfiddle.net/quadroval/w0czwvbj/

$(function() { 
    $('#tryToWrap').wrap("<p>WRAPPING DONE</p>") 
}); 

2) Statische Inhalte - Verpackung funktioniert https://jsfiddle.net/quadroval/jLfygsgr/

3) Migration ausgeschaltet ist - die Verpackung funktioniert auch gut. Der Inhalt wird dynamisch geladen https://jsfiddle.net/quadroval/x89y0ka2/

Hier können Sie anschauliches Beispiel sehen http://sunsey.0fees.net/exper/dynamic.html

Antwort