我的网站设置如下:当页面加载时,播放模板中的jQuery动画,完成后,进一步进行Ajax调用以获取页面内容。现在,我想部署像http://com-address/#!page这样的hashbang,我还需要在页面加载时保留动画。但我认为这个设置的问题是;当Web爬虫访问该页面时,它不会等待动画完成并进行Ajax调用。它要求页面的状态包含已加载的内容(在我的情况下,在动画完成后获取)。
鉴于上述情况,哪种方式更好:
更改整个流程并抢先加载页面内容并隐藏它 直到播放动画。
仅当在网址中找到hash-bang或_escaped_fragment时:
一个。按照步骤1进行操作。
湾使用没有动画的内容加载页面。
我对网络抓取工具的假设不正确&让... 电流本来就是。
任何单挑建议?
修改
@kdzwinel,感谢关于文本浏览器的提示!
在第二个想法中,我将使用选项2(a),因为当爬虫访问具有碎片URL的资源时,它应该在页面上获得完整的结果内容。如果用户直接导航到碎片化的URL,动画的用户体验也将完好无损(通过在页面加载和动画开始之间删除动态内容片段上的内容)。
同样对于所有其他场景,我们将继续旧流程(动画然后通过Ajax获取)因为我们不想刷新页面,因为用户已经访问网站并尝试平滑/无缝导航使用带有碎片URL的锚点(绑定它们的点击事件以开始动画)。
答案 0 :(得分:1)
网络抓取工具不会执行javascript(webmaster guidelines -
如果JavaScript,Cookie,会话ID,框架,DHTML或Flash等精彩功能让您无法在文本浏览器中查看所有网站,那么搜索引擎蜘蛛可能无法抓取您的网站。
),如果您的内容已被索引,请使用选项#1。在打开页面并且浏览器支持javascript时加载内容 - 隐藏内容并显示动画。