schrieb ich die folgende Funktion Text aus einer Protokolldatei zu erhalten und es als Klartext in einem neuen Browserfenster angezeigt werden:Firefox scheinbar für asynchronen Ajax warten, bevor sie abgeschlossen DOM aktualisiert
function openLog(logFile) {
var win = window.open('', '_blank');
var doc = win.document;
var title = doc.createElement('TITLE');
var titleText = doc.createTextNode(logFile);
title.appendChild(titleText);
doc.head.appendChild(title);
doc.body.style.cursor='wait';
$.ajax({
type: 'GET',
url: '/getLog',
data: { logFile : logFile },
success: function(log) {
var pre = doc.createElement('PRE');
var preText = doc.createTextNode(log);
pre.appendChild(preText);
doc.body.appendChild(pre);
doc.body.style.cursor='default';
},
error: function() {
doc.body.style.cursor='default';
}
});
};
Die ‚wartet‘ Cursor ist nützlich für große Protokolldateien.
In Chrome/IE wird der 'wait'-Cursor sofort angezeigt, während die asynchrone Ajax-Anforderung im Hintergrund ausgeführt wird. In Firefox wird nur der "Standard" -Cursor angezeigt, da er darauf wartet, dass die Ajax-Funktion zuerst beendet wird (und wenn er dies tut, wird er wieder auf "Standard" gesetzt).
Gibt es in Firefox eine Abhilfe dafür? Irgendwelche Vorschläge würden geschätzt werden.
Nein, Firefox verhält sich nicht wie Sie behaupten - vielleicht haben Sie Ihren Cursor über ein Element mit einem Cursor, der den Körper-Cursor-Stil überschreibt –
oh, ich siehe - weil der Körper im ** neuen Fenster ** leer ist, natürlich ist der Cursor nicht das, was du erwartest (überrascht, dass es in anderen Browsern ehrlich ist - wie kannst du deine Maus über ein leeres Element halten ???) ?) –