【发布时间】:2012-02-13 02:44:38
【问题描述】:
我的网站设置如下:当页面加载时,会播放一个 jQuery 动画 - 在模板中 - 完成后,进一步进行 Ajax 调用以获取页面内容。现在,我想像http://com-address/#!page 一样部署hashbang,并且我还需要在页面加载时保留动画。但我认为这个设置的问题是;当网络爬虫访问页面时,它不会等待动画完成并进行 Ajax 调用。它需要加载内容的页面状态(在我的例子中是在动画完成后获取的)。
鉴于上述情况,哪种方式更好:
改变整个流程,抢先加载页面内容并隐藏 直到动画播放完毕。
-
仅当在 URL 中找到 hash-bang 或 _escaped_fragment 时:
一个。按照步骤 1。
b.加载没有动画内容的页面。
我对网络爬虫的假设不正确,让 电流原样。
有什么建议吗?
编辑
@kdzwinel,感谢您提供有关文本浏览器的提示!
再想一想,我会选择选项 2(a),因为当爬虫访问带有碎片 URL 的资源时,它应该会在页面上获得完整的结果内容。如果用户直接导航到碎片化的 URL,用户对动画的体验也会保持不变(通过在页面加载和动画开始之间删除动态内容片段上的内容)。
对于所有其他场景,我们将继续旧流程(动画然后通过 Ajax 获取),因为我们不想刷新页面,因为用户已经在访问网站并尝试使用锚点平滑/无缝导航带有碎片化的 URL(绑定他们的点击事件以开始动画)。
【问题讨论】:
标签: php ajax url web-crawler hashbang