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