成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

兼容IE6的fetch polyfill

macg0406 / 2414人閱讀

摘要:社區(qū)起來后,不滿足現(xiàn)在的方案,搞了一個。只有在一些非常新的瀏覽器才支持,而上的卻最多兼容到,并且麻煩得要死,需要安裝一大堆才能運(yùn)行起來。于是我搞了一個兼容的。用法與原生的一模一樣。

react社區(qū)起來后,不滿足現(xiàn)在的AJAX方案,搞了一個fetch。fetch只有在一些非常新的瀏覽器才支持,而github上的fetch卻最多兼容到IE8,并且麻煩得要死,需要安裝一大堆polyfill才能運(yùn)行起來。

于是我搞了一個兼容IE6的polyfill。用法與原生的一模一樣。

npm install fetch-polyfill2

當(dāng)然想要在IE6運(yùn)行起來,還需要Promise與JSON3。

推薦使用性能最好的bluebird與JSON3

$ npm install bluebird -- save
$ npm install json3 -- save

它內(nèi)部是使用4種通信手段與后端交換數(shù)據(jù)

HTML
fetch("/users.html")
  .then(function(response) {
    return response.text()
  }).then(function(body) {
    document.body.innerHTML = body
  })
JSON
fetch("/users.json")
  .then(function(response) {
    return response.json()
  }).then(function(json) {
    console.log("parsed json", json)
  }).catch(function(ex) {
    console.log("parsing failed", ex)
  })
Response metadata
fetch("/users.json").then(function(response) {
  console.log(response.headers.get("Content-Type"))
  console.log(response.headers.get("Date"))
  console.log(response.status)
  console.log(response.statusText)
})
Post form
var form = document.querySelector("form")

fetch("/users", {
  method: "POST",
  body: new FormData(form)
})
Post JSON
fetch("/users", {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Hubot",
    login: "hubot",
  })
})
File upload
var input = document.querySelector("input[type="file"]")

var data = new FormData()
data.append("file", input.files[0])
data.append("user", "hubot")

fetch("/avatars", {
  method: "POST",
  body: data
})
IE6-7 cors
fetch("/users", { //jsonp!!!
  credentials: "include",
}).then(function(response){
   return response.json()
}).then(function(){

})

歡迎star與pull request https://github.com/RubyLouvre...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80049.html

相關(guān)文章

  • 分別使用 XHR、jQuery 和 Fetch 實現(xiàn) AJAX

    摘要:本文詳細(xì)講述如何使用原生和來實現(xiàn)。使用可以無刷新地向服務(wù)端發(fā)送請求接收服務(wù)端響應(yīng),并更新頁面。分別要用到的方法和方法。,,都是現(xiàn)在和未來解決異步的標(biāo)準(zhǔn)做法,可以完美搭配使用。這也是使用標(biāo)準(zhǔn)一大好處。 本文詳細(xì)講述如何使用原生 JS、jQuery 和 Fetch 來實現(xiàn) AJAX。 AJAX 即 Asynchronous JavaScript and XML,異步的 JavaScript...

    Julylovin 評論0 收藏0
  • Vue+webpack+Element 兼容問題總結(jié)

    摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉(zhuǎn)換為令牌流。語法分析階段會把一個令牌流轉(zhuǎn)換成的形式方便后續(xù)操作。利用我們配置好的把生成的轉(zhuǎn)變?yōu)樾碌摹? 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...

    fxp 評論0 收藏0
  • Vue+webpack+Element 兼容問題總結(jié)

    摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉(zhuǎn)換為令牌流。語法分析階段會把一個令牌流轉(zhuǎn)換成的形式方便后續(xù)操作。利用我們配置好的把生成的轉(zhuǎn)變?yōu)樾碌摹? 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...

    sumory 評論0 收藏0
  • 兼容ie9以下polyfill類庫

    1、fetch: https://github.com/github/fetch 2、HTML5 History/State APIs (pushState, replaceState, onPopState):https://github.com/browsersta... 3、REM unit polyfill:https://github.com/chuckcarpe... 4、HTML5 ...

    Binguner 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<