<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### 使用H5的history改善AJAX 比如有一個分頁功能,用的ajax,當用戶點擊瀏覽器的返回按鈕時,返回的不是分頁的上一頁數據,而是頁面的上一個頁面了。這里可以使用h5的history進行優化。 ``` //緩存當前頁碼 var pageIndex = window.localStorage.pageIndex || 0; function nextPage() { window.localStorage.pageIndex = ++pageIndex; requestData(pageIndex); //把當前頁push到state中,這樣瀏覽器history中就多了當前頁 //三個參數: 頁面數據\title(沒用)\當前頁url window.history.pushState({page: pageIndex}, null, window.location.href); } //監聽用戶點擊瀏覽器的前進后退 window.addEventListener("popState", function(event) { var page = 0; if(event.state != null) { page = event.state.page; requestData(page); window.localStorage.pageIndex = page; } }) window.onload=function(){ var pageIndex = window.localStorage.pageIndex || 0; requestData(pageIndex); } ``` popState只能監聽pushState進去的東西! 瀏覽器有一個隊列,用來存放訪問記錄,包括頁面的網址還有state數據。這個隊列只有pushState了才有數據,否則就沒有。 #### 雪碧圖 雪碧圖其實就是多個小圖片合并在一起,然后調整這張大圖的位置來顯示不同圖片。這種做法能夠減少http請求,但缺點就是圖片是提前做好的,分辨率是固定的,高清屏會模糊,并且如果想要修改圖片的顏色的話就只能重做圖片了。我們應該用圖標或svg來代替雪碧圖。 #### 圖片上傳相關 ``` var reader = new FileReader(file); //讀取為base64格式 reader.readAsDataURL(file); reader.onload = function(e) { var base64 = e.target.result; if(file.size > 1024) { //背景透明0.5 } //如果圖片大的話賦值src過程可能會卡一下,這里設置div的透明度告訴用戶圖片正在處理中來提高體驗 $img.attr("src", base64); if(file.size > 1024) { //還原透明度 } //后續上傳等操作 } ``` 壓縮圖片可以用canvas,原理就是把一張圖片畫到一個小畫布上,再把畫布的內容導出成base64,就能拿到一張很小的圖片了。 ``` var ctx = cvs.getContext("2d"); ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight); var quality = 0.6; var newImageData = cvs.toDataURL(mimeType, quality); var _img = new Image(); _img.src = newImageData; ``` 文件上傳進度: ``` xhr.upload.onprogress = function(e) { if(e.lengthComputable) { callback(e.loaded / e.total); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看