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