IE下使用HTML5元素
当下HTML5在产品中的引入可能更多的是希望为日后的扩展和新技术提供支持,优化搜索。而IE不认识这些HTML5的标签,但有一个简单的办法让IE能把样式作用到未知的元素上,只需要在元素解析前这样做:

当下HTML5在产品中的引入可能更多的是希望为日后的扩展和新技术提供支持,优化搜索。而IE不认识这些HTML5的标签,但有一个简单的办法让IE能把样式作用到未知的元素上,只需要在元素解析前这样做:
本站代码高亮一直使用的是google-syntax-highlighter这个插件,原理是在文档尾部插入JS文件,每种程序语言对应一个JS文件,由Javascript找文档中的代码节点然后将代码文本按照设置的代码种类格式化,这个工作由前端来做。但是多达十几个的JS请求延长了页面加载时间。合并成一个JS文件来加载,是一个不错的选择,做就做得彻底点,还可以将google-syntax-highlighter用到的CSS文件合并到站点统一的样式文件中来加载。结果证明确实可以加快加载速度。更好的方式,可以在后台判断文档中需要输出何种代码,然后将需要的JS文件合并输出,这个留着有时间弄吧。
趁着周末有点时间,今天还实现了本站的左侧 留言显示区(牛人指点) 翻页。。。
根据ECMA-262中的解释,Object.prototype.toString(),将返回对象实例的类型,返回格式[object class ]字符串。所以 通过 slice截取’class’值,也就是类型值。其中null与undefined例外,因为他们返回的是IE中[object Object],标准浏览器[object Window]。因此单独拿出判断。
在JS中,对于对象类型的变量的引用是通过类似C之类的“指针”的方式来操作的,及如果多个变量引用同一个对象,则任意一个变量对对象的操作都会影响到其它的变量。因此如果要创建一个与已经存在的对象内容相同的对象,不能通过简单的赋值操作。这样说的可能还是不太明白。
javascript是基于原型(Prototype based)的面向对象的语言(有人说基于对象?呵呵
),这点不同于我们熟悉的.NET,Java语言,是基于类模式(Class based)。
所以javascript中没有类的概念。理解这一点很重要,很多javascript教程为了让读者更容易理解,会套用他们常用的类模式中的概念,这 样反而让大家产生歧义。
高效、快速的前端应用能带来良好的用户体验。但当系统过于庞大、应用过于复杂时,前端表现难免会减分。分辨web应用的性能瓶颈,一般从下面三个方面入手寻找(针对Javascript开发的前端应用):
1、如果局域网不慢而互联网上慢,为 加载慢;
2、如果Chrome不慢而IE慢,为 渲染慢;
3、越用越慢,可能为 内存泄露。
打开你的应用,来寻根究底吧:
在我们开发互联网富应用(RIA)时,我们经常写一些javascript脚本来修改或者增加页面元素,这些工作最终是DOM——或者说文档对象模型——来完成的,而我们的实现方式会影响到应用的响应速度。
DOM操作会导致浏览器重解析(reflow),这是浏览器的一个决定页面元素如何展现的计算过程。直接修改DOM,修改元素的CSS样式,修改浏览器的窗口大小,都会触发重解析。读取元素的布局属性比如offsetHeithe或者offsetWidth也会触发重解析。重解析需要花费计算时间,因此重解析触发的越少,应用就会越快。
DOM操作通常要不就是修改已经存在的页面上的元素,要不就是创建新的页面元素。下面的4种优化方案覆盖了修改和创建DOM节点两种方式,帮助你减少触发浏览器重解析的次数。
JavaScript 可算是世界上最流行的编程语言,它曾被 Web 开发设计师贴上噩梦的标签,虽然真正的噩梦其实是 DOM API,这个被大量的开发与设计师随手拈来增强他们的 Web 前端的脚本语言,如今越来越被重视,虽则如此,JavaScript 仍然拥有很多让人费解的东西。
今天看到有5道Javascript题目,很有意思,值得琢磨。原文为zaka在twitter发的回答Baranovskiy的So, you think you know JavaScript。原文如下:
Quick test for real understanding of JavaScript core beyond closures and scopes. Here five small scripts. Try to answer what will be alerted in each case without running them in the console. Then you could create a test file and easily check your answers. Ready?
对字符串进行HTML编码和解码很方便的JS函数,省去了正则替换的繁琐,记录下来,以备后用。