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)中。
有什麼想法?
謝謝!
了'beforeunload'監聽器是應該做的唯一事情是返回一個字符串,其中一些瀏覽器會,詢問在對話框中顯示用戶確認他們是否要離開該頁面。 – Barmar
更改DOM有什麼意義?只要處理程序返回,頁面就會被卸載,所以您不會再看到當前的DOM。 – Barmar
我的加載器顯示(不透明度0到1)與我的JS(addClass活動)。它適用於所有瀏覽器,但不適用於Safari ... – Yannis