龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

探秘IE8 JavaScript功能超乎想象(1)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
IE 7在CSS编程方面的改进给很多开发者带来了耳目一新的感觉,但是在JavaScript方面的表现却不敢恭维,实际上,在这方面我们看到的只是一些新的BUG。不过幸运是,微软已经看到了这一

IE 7在CSS编程方面的改进给很多开发者带来了耳目一新的感觉,但是在JavaScript方面的表现却不敢恭维,实际上,在这方面我们看到的只是一些新的BUG。不过幸运是,微软已经看到了这一点,在IE 8中,JavaScript已经成为其开发的一个重点,下面我们就一起从开发者角度来看一下IE 8的一些特点。

W3C:querySelector

IE8开始支持一些新的W3C规格,其中多了querySelector和querySelectorAll两个函数。querySelector是CSS selector的查找原理的一种快速实现方法。IE 8是第二个实现Selectors API的浏览器(另一个浏览器是WebKit)。

简单来说,它实现的就是jQuery里令人惊艳的CSS Selector功能。例如以下的范例:(只有IE8可以跑,FF、IE7都会发生错误)

<html><body>
<div><div><span>InnerSpan</span></div></div>
<div><span class="myClass">ClassSpan</span></div>
<script type="text/javascript">
    alert(document.querySelector("div div span").innerHTML);
    alert(document.querySelector("span.myClass").innerHTML);
</script>
</body></html>

这儿需要特别指出的是,任何Selectors要完全依靠浏览器的原生selector实现。IE8支持CSS2.1,因此开发者无需再等待CSS 3 selectors的推出。

支持更多HTML 5功能

我一直希望在IE 8中增加一些HTML 5兼容功能,在IE 8中我们看到了4个在这方面的完整功能,非常棒!

1、HTML 5: window.location.hash

这个功能已经被多数浏览器支持的非常好。在IE8标准模式中将window.location.hash中的更改作为导航,并保存先前文档的URL,可以像在Ajax应用中模仿“后退”按钮效果。IE8中对它进行了改良,可以广播这个hashchanged时间,据我所知这是第一个采取这种处理方法的浏览器。

2、HTML 5: DOM存储

通过这个功能,数据可以持续保存在本地,它将取代原始的cookie存储机制。我们已经在2.0版本以后的Firefox浏览器中看到过这个功能,但是在Opera和Safari中尚未支持此功能。

3、HTML 5: postMessage

IE8现在支持跨文件消息通讯(Cross-Document Messaging-XDM)!通过onmessage事件和postMessage方法,两个来自不同域的网页可以进行通讯。
目前IE 8、Opera 9、Firefox 3和WebKit nightlies版均支持这个功能,也就是说,该功能几乎已被所有最新浏览器支持。

4、HTML 5: Offline Events
在IE 8中拥有一些离线事件来检测网络的中断,通过它我们可以编写精彩的离线Ajax应用。目前来看支持这一功能的浏览器包括Firefox 3和IE 8。

精彩图集

赞助商链接