2017-02-17 44 views
0

當我在我的網站上切換頁面時,我不想顯示加載程序。Safari瀏覽器在卸載之前更改頁面

<div class="ajax-loader"><i class="icon-spin5"></i></div> 

在我的CSS:所以我在我的HTML定義裝載機

.ajax-loader { 
    z-index: 1; 
    position: fixed; 
    top: 50vh; 
    left: 50vw; 
    transform: translate(-50%, -50%); 
    color: white; 
    opacity: 0; 
    pointer-events: none; 
    transition: all ease-in-out .25s; 

    i { 
     display: inline-block; 
     font-size: 80px; 
     width: 80px; 
     height: 80px; 
     animation: spin 3s linear infinite; 

     @media @step1, @step2 { 
      font-size: 2em; 
     } 
    } 

    &.active { 
     opacity: 1; 
    } 
} 

在我的JS:

$(document).ready(function() { 
    // loader on page change 
    window.onbeforeunload = function(e) { 
     // show ajax loader 
     $('.ajax-loader').addClass('active'); 
    }; 
}); 

一切都很好,在IE,火狐,Chrome ...但不在Safari(Mac + iOS)中。

有什麼想法?
謝謝!

+0

了'beforeunload'監聽器是應該做的唯一事情是返回一個字符串,其中一些瀏覽器會,詢問在對話框中顯示用戶確認他們是否要離開該頁面。 – Barmar

+0

更改DOM有什麼意義?只要處理程序返回,頁面就會被卸載,所以您不會再看到當前的DOM。 – Barmar

+0

我的加載器顯示(不透明度0到1)與我的JS(addClass活動)。它適用於所有瀏覽器,但不適用於Safari ... – Yannis

回答

0

也許缺少-webkit-過渡,在CSS -webkit-變換

相關問題