IE6/IE7尿性笔记 && avalon && director

表单提交 [ie6]
form默认特性(input回车以及点击type=submit的按钮会自动触发form submit),在ie6中,不能使button[submit],必须是input[submit]
在avalon中,ie6-8均不能支持到在submit触发函数中阻止页面跳转的工做,先弃用以上特性了。css

css属性选择器 [ie6]
不支持html

JSON [ie6-n]
- 不支持parse和stringify,须要引入json2.js or json3
- 最好全部的key都加上引号,像这样属于关键字的key,{'var': 0},高版本浏览器会自动识别为key,ie6不行。
- 最后一个value后面不能有多余的逗号git

document.domain  [ie6]
修改domain后会形成跨域,后续发往本地服务的ajax请求会被拒绝访问。若是在1.a.com下的页面中执行了document.domain=a.com,以后再ajax拉取本地server数据或者访问location.hash或者documen.domain之类的,会被认为跨域而拒绝访问。es6

 

 director [ie6-8]github

 https://github.com/flatiron/director
- 没有权限或者拒绝访问
问题:设置document.domain以后,director路由管理的路由跳转中,用到的loaction.hash以及frame.contentWindow会被拒绝访问
解决:作了两个工做,一个是把全局loc变量替换为document.location,另外一个是注释掉了writeFrame方法,暂时没发现这个方法有什么用处ajax

- 路由跳转浏览器崩溃 [ie6-7]
问题:有些路由跳转,多是由于内存占用过高,(跟avalon可能有关系),致使浏览器崩溃退出
解决:万能的settimeout解决json

 

其余参考:
https://juejin.im/post/59a3f2fe6fb9a0249471cbb4segmentfault

 

 avalon跨域

1. 双向数据绑定必须在vm中声明才行promise

<h2>{{rr}}</h2>
<input type="" name="" :duplex="@rr">

如上,是很差使的,还须要在avalon.define({rr:0})中这样声明一下。(ng1没必要如此)

2. 低版本IE问题
http://www.cnblogs.com/rubylouvre/p/4012709.html

3. avalon2最佳实践
https://segmentfault.com/a/1190000006933252

 

表单验证-Promise [ie6-n]IE系列不支持Promise,能够引用pollfill来支持,目前主流有两个bluebird和ES6-Promise,连接分别以下:http://bluebirdjs.com/docs/install.htmlhttps://github.com/stefanpenner/es6-promise

相关文章
相关标签/搜索