给页面点击链接加了转圈圈和解决遇到的bug
生活随笔
收集整理的這篇文章主要介紹了
给页面点击链接加了转圈圈和解决遇到的bug
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天遇到一個問題,之前給整個網(wǎng)站上的鏈接加了loading,今天遇到在ios的chrome和safari下點擊進入新頁面然后點擊瀏覽器的返回按鈕,loading還在,并且一直存在,最后網(wǎng)上搜到了解決方案特記錄下
?
點擊事件加loading:
$(document).on("click", "a[href!=''][href!='#'][href!='javascript:void(0)'][href!='javascript:void(0);'][href!='javascript:;']", function () {var href = $(this).attr('href');var target = $(this).attr('target');var a_pageindex = $(this).data("pageindex");if ($(this).hasClass('fancybox')) {//彈出層的不loading} else if (target != undefined && target == "_blank") {//有_blank的不loading} else if (href == undefined || href.indexOf("plus.google.com") > 0) {//沒有href的不loading 或者google分享不loading} else if ($(this).data("pageindex") != undefined) {//ajax 分頁空間的分頁按鈕不需要} else if (isCtrl) {//如果按著ctrl鍵不執(zhí)行} else {//href中以#開頭的不loadingif (href.substring(0, 1) != '#' && href.indexOf("javascript:") == -1) {LinkLoading(true);}} });解決ios的chrome和safari返回繼續(xù)loading:
//瀏覽器回退頁面一直轉(zhuǎn)圈 if ($(window).width() < 1024) {var detectBack = {initialize: function () {//監(jiān)聽hashchange事件window.addEventListener('hashchange', function () {//為當前導(dǎo)航頁附加一個tagthis.history.replaceState('hasHash', '', '');}, false);history.pushState(1, '', '')window.onpopstate = function (e) {if (!e.state) {//fix chromewindow.history.back();//偵測是用戶觸發(fā)的后退操作, dosomething//這里刷新當前url//window.location.reload(); }};}}detectBack.initialize();//fix ios safairwindow.onpageshow = function (event) {if (event.persisted) {window.location.reload()}}; }
?最后經(jīng)過試驗,不管chrome還是safari這樣就可以了
?
//瀏覽器回退頁面一直轉(zhuǎn)圈 if ($(window).width() < 1024) {window.onpageshow = function (event) {if (event.persisted) {LinkLoading(false);//下邊的看情況添加
//location.reload(); }}; }
定義和用法
onpageshow 事件在用戶瀏覽網(wǎng)頁時觸發(fā)。
onpageshow 事件類似于?onload?事件,onload 事件在頁面第一次加載時觸發(fā), onpageshow 事件在每次加載頁面時觸發(fā),即 onload 事件在頁面從瀏覽器緩存中讀取時不觸發(fā)。
為了查看頁面是直接從服務(wù)器上載入還是從緩存中讀取,你可以使用 PageTransitionEvent 對象的 persisted 屬性來判斷。 如果頁面從瀏覽器的緩存中讀取該屬性返回 ture,否則返回 false?
?
?
參考:https://code.ziqiangxuetang.com/jsref/event-onpageshow.html
?
總結(jié)
以上是生活随笔為你收集整理的给页面点击链接加了转圈圈和解决遇到的bug的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的编码规范(慢慢补充)
- 下一篇: 11月16日bd之旅意外参加黄波博士讲座