我一直在使用JQuery的load();
函数来加载网站内容的一部分。
我一直在阅读,虽然这可能看起来不错,但使用load()
会破坏搜索引擎优化的任何良好希望,所以建议在我正在使用的ahref
链接选择器中保持真实链接,因此,当Google开始抓取该链接时,它会找到该内容。
然后,我刚刚使用JQuery的preventDefault();
忽略了这个动作。
我的问题是,我说有类似
的内容$('#mylink').click(function(a) {
a.preventDefault();
$('myContainer').load('about.php');
});
该文件about.php
通常不会包含页眉或页脚,因为我已将它放在某个容器中,但是,我可以在about.php
上对条件进行排序或测试吗?看看是否使用load();
调用了它?因此,如果有人说要访问www.mysite.com/about.php
,那么它会加载剩余的内容,使其看起来像普通页面吗?
答案 0 :(得分:2)
当然,在您的PHP文件中,您可以检测是否使用ajax请求了页面,如果不是,则包含页眉和页脚:
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
//requested with ajax
}else{
//not ajax, include more content
}
您可以轻松地将其变为变量并使用它来触发PHP包含在正确的位置以包含更多内容等。
答案 1 :(得分:2)
我一直这样做,以使其与pushState()一起使用。将您尝试加载的内容放入子文件夹(如pages / whatever.php),然后让普通页面包含您想要的所有内容(页眉,页脚等)并需要pages / whatever.php。对于jQuery .load(),只需拉入pages / file。
这有点单调乏味,但符合SEO标准且更加模块化。
答案 2 :(得分:1)
在我的网站上,我喜欢让它变得简单,所以我总是在页面中添加页眉/页脚。当您使用jQuery的.load()
时,您可以告诉它解析加载页面的某个部分。
$('myContainer').load('about.php #myContainer');
这告诉jQuery加载about.php
,但只将#myContainer
附加到元素。