惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
Jina AI
Jina AI
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
月光博客
月光博客
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
博客园_首页
GbyAI
GbyAI
The Cloudflare Blog
博客园 - 叶小钗
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
量子位
博客园 - Franky
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
Google DeepMind News
Google DeepMind News
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
J
Java Code Geeks
腾讯CDC
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Vulnerabilities – Threatpost
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
Lohrmann on Cybersecurity
S
Securelist
F
Full Disclosure
Cisco Talos Blog
Cisco Talos Blog
小众软件
小众软件
The GitHub Blog
The GitHub Blog

博客园 - nect

[z]前端设计IE6/IE7/IE8/IE9/FF问题汇总:IE和FirFox兼容问题 - nect - 博客园 [z]ie和FF 在insertRow和insertCell的区别 [z]JS在IE和FF下attachEvent,addEventListener学习笔记 - nect - 博客园 WinForm使用webclient通过http的POST方式上传文件 转:另类解决:“ScriptManager”不是已知元素。原因可能是网站中存在编译错误。 - nect - 博客园 转:css妙用1-用图片替换文字 .net中的正则表达式(一)——转义字符 使用Cascadingdropdown控件遇到的一个问题 IP地址匹配算法 服务器控件的客户端验证脚本 从一个字符串中Remove另一个字符串 gridview 中模板列无法响应row_command事件 - nect - 博客园 在asp.net Atlas中调用 Web Service时无法找到自定义的Web Service对象的可能原因 【转】Prototype.js开发笔记//mark一下 在GridView中使用邮件链接 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题 GridView 中格式化整理 [转]操纵自如--页面内的配合与通信 [导入]Java调用.net的WebService
【转】ie9 rc版软件兼容问题
nect · 2011-02-22 · via 博客园 - nect

转自:http://hi.baidu.com/ieface/blog/item/a8edaf24e8ce70124d088d2d.html

ie9 rc新版中javascript有了很多改变,主要是为了兼容W3C标准。
本来是好事,不过也产生了一些“副作用”:

目前有些软件(特别是ie外壳浏览器)中使用了稍复杂的js脚本来做界面或软件控制,
对于这类软件,如果使用的js太有特色,就有可能引起软件崩溃问题。

1.document.createElement函数
在ie9 preview版或之前,可以做如下使用:
document.createElement():默认创建XML空标签。
document.createElement(合法的html):创建给定html元素。
这两种使用方式在ie9 rc中不可用。
只能用document.createElement('div')之类的表达式,并且在用outerHTML返回的标签都是小写字母。

2.原生函数赋值:
原生的函数不允许直接附值给变量,例如:
模仿prototype的写法:
var $=document.getElementById;在ie9 preview及之前版本都是可以的,在ie9 rc中是不合法的,
只能用:
var $=function(s){return document.getElementById(s)};
类似的“技巧”会导致问题。
3.变量定义:
用var i;定义变量,如果为了格式对齐将语句中空格用tab代替,会发生错误。
4.dom自定义属性:
在ie9 preview及以前版本中dom元素可直接用"="操作,如:
var o=document.getElementById('someid');
o.myprop='strange';
var s=o.myprop;
而在ie9 rc中这样的写法什么都得不到,都是浮云。

只能用setAttribute/getAttribute来操作dom元素自定义属性。
这可能也是ie9中js速度更快的原因之一:牺牲可用性,提高效率。
5.firstChild/lastChild/previewSibling/nextSibling/childNodes[i]:
在ie9 preview/rc中,解析html时会经常生成些预料之外的#text元素,
会导致用一些标准的dom操作函数得到的并非是你想要的东东,如:
var o=document.getElementById('someid').firstChild;
在变量o中得到的很可能是个#text,而不是你真正想要的东东。

总而言之,言而总之:
写完js后在chrome/firefox/opera中试一下,可能是个好习惯。