这meta
仅适用于 IE,它们不适用于 FF。
您不能依靠防止在纯 HTML 中闪烁。我找到的最佳解决方案是用 JavaScript 调用替换每个链接,在该调用中使用 AJAX 下载页面,然后用新内容替换文档本身。页面刷新速度非常快,下载时您不会看到任何空白屏幕。
基本功能可能是这样的:
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:如何使用 jQuery 替换 HTML 文档的内容及其含义(并不总是那么明显)。
改进
使用此解决方案,您可以强制用户使用 JavaScript,以防万一未启用,他们将无法点击链接。出于这个原因,我会提供一个后备。首先不要改变<a>
,而是用(例如)一个 CSS 类来装饰它们,比如async-load
. 现在在页面的 onload 上将所有href
s替换为javascript:
对应的,如下所示:
jQuery().ready(function() {
jQuery("a.asynch-load").each(function() {
this.href = "javascript:followLink(\"" + this.href + "\")";
});
});
有了这个,您也可以处理加载动画(它的实现方式取决于您使用的内容和您的布局)。此外,在同一个地方,您可以提供淡入/淡出动画。
最后不要忘记,这种技术也可以用于片段(例如,如果您提供共享导航栏和当用户单击导航栏链接时替换的内容部分(因此您无需再次加载所有内容) .