javascript-创建可被Google bot和用户的jquery点击的链接的正确方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-创建可被Google bot和用户的jquery点击的链接的正确方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1901字,纯文字阅读大概需要3分钟。
内容图文
![javascript-创建可被Google bot和用户的jquery点击的链接的正确方法是什么?](/upload/InfoBanner/zyjiaocheng/674/1a27e96cea8843d984820ba47baf757c.jpg)
我想创建一个网站,该网站的菜单中将包含链接,可能是< a>它将发送一些真实的href,例如/ contact / / services /等,以便当Google bot访问该网站时,会将其索引为真实的子页面.
但是,当用户单击浏览器中的那些链接时,我不希望浏览器刷新并重新加载内容,我希望jQuery在适当的div中拍摄并更改内容,但可能还应该以某种方式更改url,以便该用户也可以将此链接复制给他的朋友.
我可以做jQuery内容更改部分,我只是不知道如何创建这些链接,以使它们在javascript处于活动状态时不会刷新浏览器,但是在javascript处于关闭状态时才可以正常工作(谷歌机器人).
解决方法:
history.pushState({foo: "bar"}, "page 2", "newpage.html");
前两个参数不是必需的(至少我没有看到任何有用的用法),我使用它的方式与下面所述完全相同
<a href="/contact" class="ajax">Contact</a>
用JavaScript
$("body").delegate('.ajax', 'click', function(){
$("#content").html('Loading new content...');
history.pushState({foo: "bar"}, "dummy", $(this).attr('href'));
$("#content").load($(this).attr('href')+'?ajax=1');
return false;
});
但是,不支持本机浏览器的后退按钮.这意味着当您单击“后退”按钮时,地址将更改为旧的,但内容保持不变.要解决此问题,请尝试使用以下代码
var popped = ('state' in window.history), initialURL = location.href;
$(window).bind('popstate', function(event) {
// Ignore inital popstate that some browsers fire on page load
var initialPop = !popped && location.href == initialURL
popped = true
if ( initialPop ) return;
$("#content").load(location.href+' #content');
return false;
});
一旦用户点击“后退”按钮,它将加载旧内容.
另外,您还必须注意,.pushState在过时的浏览器上不起作用,因此,应为没有此功能的用户创建后备.
最终,从jQuery 1.7开始,使用.on()而不是.delegate(),因为它速度更快并且正在被替换.因此,代替委派整个身体,我们可以使用
$(".ajax").on('click', function(){
$("#content").html('Loading new content...');
history.pushState({foo: "bar"}, "dummy", $(this).attr('href'));
$("#content").load($(this).attr('href')+'?ajax=1');
return false;
});
它将事件处理程序仅附加到特定元素.
内容总结
以上是互联网集市为您收集整理的javascript-创建可被Google bot和用户的jquery点击的链接的正确方法是什么?全部内容,希望文章能够帮你解决javascript-创建可被Google bot和用户的jquery点击的链接的正确方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。