判断 iframe 是否加载完成的完美方法

一般来说,我们判断 iframe 是否加载完成其实与 判断 JavaScript 文件是否加载完成 采用的方法很类似: var iframe = document.createElement(“iframe”); iframe.src = “http://www.planabc.net”; if (!/*@cc_on!@*/0) { //if not IE iframe.onload = function(){ alert(“Local iframe is now loaded.”); }; } else { iframe.onreadystatechange = function(){ if (iframe.readyState == “complete”){ alert(“Local iframe is now loaded.”); } }; } document.body.appendChild(iframe); 最近, Nicholas C. Zakas 文章《Iframes, onload, and […]

... 41 条评论 »

CSS Expression 的优化

IE 浏览器中 CSS Expression 特性的最大的问题:会反复执行,每秒钟可能执行了成百上千次,有严重的性能问题。 如何对 CSS Expression 进行优化呢? 至少:如果我们将 CSS Expression 在匹配的元素中仅执行一次,性能将会提升很大。 old9 在 《CSS Expression Reloaded》一文中提供了一个解决方案: 在 CSS Expression 语句体里,将触发该 Expression 的 CSS 属性重置。 例如: div { zoom: expression(function(el){el.style.zoom = “1”; alert(el.tagName);}(this)); } 补充几点: CSS Expression 执行在任意一个匹配的元素上。 在 CSS expression 内, “this”关键字指向当前匹配的 HTML 元素。 CSS 属性选用一些不常用的属性来触发,触发完重置回默认值。 最近在 Ajaxian 的文章《Creating a querySelector for IE […]

... 18 条评论 »