meta
僅適用於IE瀏覽器,它們不適用於FF。
你不能依靠防止在純HTML中閃爍。我發現的最佳解決方案是用AJAX替換每個鏈接的JavaScript調用,然後用新內容替換文檔本身。頁面刷新速度非常快,下載時不會看到任何空白屏幕。
基本功能可能是這樣的:
function followLink(pageUrl)
{
jQuery.ajax({
url: pageUrl,
type: "GET",
dataType: 'html',
success: function(response){
document.getElementsByTagName('html')[0].innerHTML = response
}
});
}
然後,你必須更換從鏈接:
<a href="mypage.html">Link</a>
有了:
<a href="javascript:followLink('mypage.html')">Link</a>
更多關於這方面的細節:更換整個HTML文檔] 1:如何用jQuer替換HTML文檔的內容y及其含義(並不總是那麼明顯)。
改進
有了這個解決方案,您強制用戶使用JavaScript,如果它不能使他們無法點擊的鏈接。出於這個原因,我會提供一個後備。首先不要更改<a>
,而是使用(例如)像async-load
這樣的CSS類來裝飾它們。現在,在頁面的onload他們javascript:
對口,像這樣全部更換href
S:
jQuery().ready(function() {
jQuery("a.asynch-load").each(function() {
this.href = "javascript:followLink(\"" + this.href + "\")";
});
});
有了這個,你可以處理加載動畫太(它是如何實現取決於使用和佈局什麼yuo're )。此外,在同一個地方,您可以提供淡入/淡出動畫。
最後不要忘記,這種技術也可以用於碎片(例如,如果您提供共享導航欄和內容部分替換爲當用戶點擊鏈接導航欄時(所以你不會需要重新加載一切)
只是建議,定身的背景顏色爲您的網站的主要背景色。可能你的主要背景不是白色。 – Reflective
@反射,我做了,點擊兩次後沒有閃爍 - 閃爍再次開始。 – Alegro
你能提供一個鏈接到你的網站,看看到底發生了什麼? – Reflective