我有一个经典的问题,那就是在一个网站上,我希望保持标题和菜单div始终相同,然后在用户通过菜单输入时更改conentdiv。
我对php-include做了这件事,这很好,但当然,每次内容div更改时,整个页面都会刷新。这很好,因为刷新整个页面非常快。。。除了标志!所以我希望只是标题保持不变而不刷新(徽标保持良好的静态)。
一种解决方案是只使用Ajax刷新内容div,我知道,但据我所知(尤其是如果你想让内容可索引),你的url中会有标签,加上搜索引擎索引有点复杂(见此处)
我发现一些网站似乎"冻结"了菜单,而页面的其他部分发生了变化,URL完全像基本的html。例如http://www.dfab.arch.ethz.ch/注意左边的白色矩形区域在点击另一个菜单和简单的URL时不会刷新。知道这是怎么做到的吗?非常感谢。
我能理解你提到的网站:http://www.dfab.arch.ethz.ch/不使用任何类型的异步。它使用一个简单的javascript来预加载大背景图像,这不会评估你的问题:
<script language="JavaScript">
<!--
function BilderVorladen() {
document.Vorladen = new Array();
if(document.images) {
for(var i = 0; i < BilderVorladen.arguments.length; i++) {
document.Vorladen[i] = new Image();
document.Vorladen[i].src = BilderVorladen.arguments[i];
}
}
}
//-->
</script>
最初问题的可能解决方案是:HTML iframes(有点难看,谷歌不鼓励),或者如果你想保持异步方法而不使用ajax,你的解决方案肯定是websockets(请参阅此处查看IE polyfills),但这也不会减轻SEO。
老实说,对于一个缓慢加载的标志来说,它们看起来都太夸张了。我宁愿改变方法,减少img的大小和/或格式,并确保img被缓存,这样它就必须第一次下载(通常是一个非常可接受的延迟)。