Jquery-ui tabs ajax ()... stop tab Neuladen url, wenn Sie die tab ist neu gewählt
Ich bin mit jquery ui tabs, und im hinzufügen von Registerkarten, die dynamisch mit .tabs('hinzufügen',...). Die tabs laden einer url mit ajax. Das problem ist, dass jedesmal, wenn ich Sie auf eine andere Registerkarte, dann wieder kommen... das tab lädt die url. ich möchte die url einmal geladen.... irgendwelche Ideen?
InformationsquelleAutor der Frage Sir Lojik | 2011-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie suchen für die
cache
option (in diesem Fallfalse
):Beispiel:
Hier ist eine einfache demo. Verwenden Sie Firebug oder einem anderen tool, um sicherzustellen, dass der Inhalt nicht abgerufen werden, mehr als einmal pro Tablette: http://jsfiddle.net/andrewwhitaker/D6qkW/
InformationsquelleAutor der Antwort Andrew Whitaker
Bitte beachten Sie, dass die
cache
Eigenschaft der Registerkarten Optionen war veraltet jQueryUI 1.9 und entfernt 1.10. Finden Sie die jQueryUI 1.9 upgrade-AnleitungIst der empfohlene Weg, dies zu behandeln jetzt, ist die Verwendung der neuen
beforeLoad
Ereignis, um zu verhindern, dass der XHR-request ausgeführt werden.InformationsquelleAutor der Antwort Cheekysoft
Schalten Sie die Zwischenspeicherung auf die Registerkarten, oder alternativ aktivieren Sie die globabl ajax cache-option in jQuery, wenn sich etwas ändert, das erfordert einen reload, dynamisch Anhängen etwas wie Mathematik.Rand() an das Ende des URL, so dass es nicht cache die nächste Last.
Aus der jQuery-Website für tab caching:
InformationsquelleAutor der Antwort iivel
Verwenden Sie eine variable zu speichern, die einen booleschen Wert. Zunächst legen Sie auf false(ajax nicht geladen werden). Wenn Ihre ajax-Lasten einstellen der boolean auf true und überprüfen Sie den Wert vor jedem ajax-request.
Natürlich Sie tun müssen, würde ein wenig mehr Arbeit zu behandeln mehr als eine Registerkarte.
InformationsquelleAutor der Antwort The Muffin Man
InformationsquelleAutor der Antwort Touhid
Als jQuery 3.0 jqXHR.Erfolg entfernt wurde, - Lösung (modifizierter form CheekySoft oben) ist jetzt
InformationsquelleAutor der Antwort Jeremy Jacob
Wickeln Sie Ihre AJAX-Aufrufe innerhalb einer
if
- Anweisung, die überprüft, ob eine frühere AJAX-call, d.h.:InformationsquelleAutor der Antwort Moses
Fand ich die Lösung für das gleiche problem hier ist die perfekte Antwort und bitte lieber den link:
});
Veraltet ajaxOptions und cache-Optionen Hinzugefügt beforeLoad Veranstaltung
InformationsquelleAutor der Antwort Bhatt Akshay