Diese Funktion wurde von der Website angepasst: http://eriwen.com/javascript/measure-ems-for-layout/Warum ist diese JavaScript-Funktion bei Firefox so langsam?
function getEmSize(el) {
var tempDiv = document.createElement("div");
tempDiv.style.height = "1em";
el.appendChild(tempDiv);
var emSize = tempDiv.offsetHeight;
el.removeChild(tempDiv);
return emSize;
}
ich diese Funktion als Teil einer anderen Funktion auf window.resize leite, und es verursacht Leistungsprobleme auf Firefox 3.6, die auf aktuelle Safari nicht existieren oder Chrom. Der Profiler von Firefox sagt, dass ich die meiste Zeit in dieser Funktion verbringe, und ich bin neugierig, warum das so ist.
Gibt es eine Möglichkeit, die Größe von em in Javascript zu erhalten, ohne all diese Arbeit zu tun? Ich möchte die Größe auf Größe neu berechnen, wenn der Benutzer es geändert hat.
können Sie uns zeigen, wie diese Funktion in der anderen Funktion auf window.resize verwendet wird? – mauris
@thepphdeveloper Ich könnte, aber ich denke, es ist überflüssig. Die Funktion wird nur einmal in dieser Funktion aufgerufen und das Ergebnis wird zwischengespeichert. – macrael
Firefox hat einen Profiler? Ist es integriert oder sprichst du von JavaScript Debugger (Venkman)? – MatrixFrog