表單提交 [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