Mein Code funktioniert einwandfrei in Firefox, aber nicht in Chrome. Gibt es ein Problem mit jQuery .load()
auf Google Chrome?
Antworten
Zu viele Anzeigen?JQuery ist browserübergreifend - das bedeutet, dass es in jedem Browser funktionieren sollte. Aber vielleicht funktioniert es aus diesen Gründen nicht:
-
Sie führen es lokal aus (nicht auf dem Server), und Chrome lässt das Laden aus lokalen Dateien nicht zu.
-
Sie rufen Daten von ASP.net ab und verwenden Response.Close(), um den Socket zu schließen.
-
Vielleicht zwischenspeichert Chrome die Daten, versuchen Sie es mit $.ajaxSetup({cache:false}).
Ich hatte genau das gleiche Problem, dass ein Jquery-Skript mit Chrome nicht funktionierte, aber in allen anderen Browsern funktionierte es.
Eine perfekte Lösung habe ich noch nicht gefunden. Ich glaube jedoch, dass das Problem mit dem Caching von Chromes zusammenhängt.
Wenn Sie Ihren Cache leeren, wird Ihr Skript wahrscheinlich einmal erfolgreich sein und dann beim nächsten Laden aufhören.
Ich habe mein Problem gelöst, indem ich einen Cache-Buster in die Bild-URL einfügte, die ich für den Download überprüfte.
Wenn Sie jquery innerhalb einer Chrome-Erweiterung verwenden und document-start für die Skriptverarbeitungsebene ausgewählt haben, wird vieles von dem, was Sie erwarten, nicht korrekt funktionieren, weil Chrome nicht auf den Aufruf von ready() durch onload wartet
<script type="text/javascript">
window.addEventListener('load', function() {
console.log("window load event");
});
$(document).ready(function() {
console.log("started processing jQueries ");
}
</script>
started processing jQueries
window load event
damit Sie sehen können, dass Chrome mit der Verarbeitung des Skripts beginnt, bevor das DOM vollständig geladen ist.
Der beste Vorschlag, wenn Sie beides brauchen, ist, die ready()-Funktion nicht für Chrome-Erweiterungen zu verwenden, die beim Dokumentstart ausgeführt werden