关于各浏览器中innertext属性的使用

最近在使用一些AJAX(Asynchronous Javasript and XML)做一些简单的应用。本来不太常用JS的,因为不太好调试的缘故吧,编写程序实在不易。今天写点关于这方面的内容。

突然发现innerText在实际应用中的确很重要。先看段简单的代码,如下所示。这段代码演示了如何将一个字符串写入名为“lblResult”的Tag的简单示例。这段代码在IE,Safari 以及Chrome下都会运行非常良好。但是在Firefox浏览器下却无法显示该字符串。原因是Firefox并不支持Tag的innerText属性。

innerText示例1

 

从网上找到螺螺的blog中[1] 写到了如下代码,很是经典,对Firefox的内部属性进行了扩展,在引用下段javascript后可以非常容易的在Firefox中使用innerText属性。

innerText示例2 innerText for Firefox

其中从[2] 中了解到,如果浏览器采用下列逻辑判断其类型,可以非常简洁的获得当前浏览器的类型,该逻辑返回值为boolean(true/false)。

/MSIE/.test(window.navigator.userAgent)
/Firefox/.test(window.navigator.userAgent)
/Chrome/.test(window.navigator.userAgent)
/Opera/.test(window.navigator.userAgent)

当然浏览器类型也可以用如下方法来检测,不过感觉使用上比较啰嗦,不如上面的方法更简洁易懂。

A traditional method to detect type of navigator

下面的示例是innerText的一种较为通用的版本的事例。使用了上面提到innerText的的扩展方法。

 

完整的适合各浏览器的innerText属性的示例

 

Reference:

1.为firefox实现innerText属性. 螺螺的blog. http://www.cnblogs.com/luoluo/archive/2008/11/24/1340111.html 

2.Using the navigator object to detect client's browser. JavaScript Tutorial. http://www.javascriptkit.com/javatutors/navigator.shtml 

 

posted @ 2009-04-15 22:46  wangyile  阅读(1297)  评论(0编辑  收藏  举报