JavaScript的History API使搜索引擎抓取AJAX内容
JavaScript的History API:让搜索引擎拥抱AJAX内容
浏览Facebook相册时,你是否注意到过页面局部刷新时地址栏的变化?没有使用hash方式,而是借助了HTML5 History API的几个新增API。在HTML4时代,history已经是浏览器中的老朋友了。常用的方法如history.back()和history.go(),现在我们将解锁更多可能。
不久前,Discourse论坛程序的创始人之一Robin Ward提供了一种独特的解决方案,让我为之震撼。Discourse是一个依赖Ajax的论坛程序,同时必须让Google收录其内容。他们选择放弃井号结构,转而采用History API。
History API允许我们在不刷新页面的情况下改变浏览器地址栏的URL。让我们想象一个场景:你点击了一个播放音乐的按钮,音乐开始播放。接着,你点击一个链接跳转到狼蚁网站的SEO优化页面,看看发生了什么?地址栏的URL改变了,但音乐播放没有中断!
让我们深入了解History API的核心功能。它可以在浏览器的History对象中添加一条记录。具体实现代码如下:
window.history.pushState(state object, title, url); 只需一行命令,就可以让地址栏出现新的URL。这里的pushState方法接受三个参数,其中新的URL就是第三个参数,前两个参数都可以设置为null。例如:window.history.pushState(null, null, newURL); 目前,各大主流浏览器都支持这个方法。包括Chrome(26.0+)、Firefox(20.0+)、IE(10.0+)、Safari(5.1+)和Opera(12.1+)。Robin Ward通过History API让狼蚁网站的SEO优化成为可能的实现方法是利用它代替井号结构。通过这种方式,每个井号都能变成正常的路径URL,搜索引擎就能抓取每一个网页内容。例如:example./1、example./2和example./3等。然后定义一个JavaScript函数来处理Ajax部分的内容抓取工作(这里假设使用jQuery)。该函数根据抓取内容并显示在页面上。当用户在容器内的链接上点击时,会触发一个click事件处理程序。该程序使用jQuery监听这个事件并处理点击链接的页面加载过程。当用户点击浏览器的“前进/后退”按钮时也会触发相应的操作通过定义了一个事件监听器来捕捉浏览器地址变化的情况并进行处理。最后需要设置服务器端以响应所有新的URL请求并返回正确的网页内容防止出现404错误。总的来说通过利用JavaScript的History API我们可以实现在不刷新页面的情况下展示正常路径的URL和AJAX内容从而优化用户体验和搜索引擎优化效果。在我们深入网页开发领域时,你会发现一个独特的元素:`
在网页设计中,`
编程语言
- JavaScript的History API使搜索引擎抓取AJAX内容
- 微信小程序之MaterialDesign--input组件详解
- Ajax使用JSON数据格式案例
- jquery合并表格中相同文本的相邻单元格
- CI框架源码解读之URI.php中_fetch_uri_string()函数用法
- 将html页面保存成图片,图片写入pdf的实现方法(推
- 微信小程序联网请求的轮播图
- jQuery实现菜单感应鼠标滑动动画效果的方法
- jsp 对request.getSession(false)的理解(附程序员常疏忽
- Ajax+asp.net智能匹配检索(含图含完整代码)
- jQuery实现金额录入框
- php使用PDO获取结果集的方法
- Yii 2中的load()和save()示例详解
- 轻松掌握JavaScript单例模式
- asp是什么格式 asp文件用什么打开
- 浅谈JavaScript异常处理语句