【问题标题】:jQuery animation with escaped-fragmented URL (hash-bang, #!)带有转义片段 URL 的 jQuery 动画(hash-bang,#!)
【发布时间】:2012-02-13 02:44:38
【问题描述】:

我的网站设置如下:当页面加载时,会播放一个 jQuery 动画 - 在模板中 - 完成后,进一步进行 Ajax 调用以获取页面内容。现在,我想像http://com-address/#!page 一样部署hashbang,并且我还需要在页面加载时保留动画。但我认为这个设置的问题是;当网络爬虫访问页面时,它不会等待动画完成并进行 Ajax 调用。它需要加载内容的页面状态(在我的例子中是在动画完成后获取的)。

鉴于上述情况,哪种方式更好:

  1. 改变整个流程,抢先加载页面内容并隐藏 直到动画播放完毕。

  2. 仅当在 URL 中找到 hash-bang 或 _escaped_fragment 时:

    一个。按照步骤 1。

    b.加载没有动画内容的页面。

  3. 我对网络爬虫的假设不正确,让 电流原样。

有什么建议吗?

编辑

@kdzwinel,感谢您提供有关文本浏览器的提示!

再想一想,我会选择选项 2(a),因为当爬虫访问带有碎片 URL 的资源时,它应该会在页面上获得完整的结果内容。如果用户直接导航到碎片化的 URL,用户对动画的体验也会保持不变(通过在页面加载和动画开始之间删除动态内容片段上的内容)。

对于所有其他场景,我们将继续旧流程(动画然后通过 Ajax 获取),因为我们不想刷新页面,因为用户已经在访问网站并尝试使用锚点平滑/无缝导航带有碎片化的 URL(绑定他们的点击事件以开始动画)。

【问题讨论】:

    标签: php ajax url web-crawler hashbang


    【解决方案1】:

    网络爬虫不执行 javascript (webmaster guidelines -

    如果 JavaScript、cookie、会话 ID、框架、DHTML 或 Flash 等花哨的功能使您无法在文本浏览器中查看您的所有网站,那么搜索引擎蜘蛛可能无法抓取您的网站。

    ),如果您不想将您的内容编入索引,请使用选项 #1。打开页面时加载内容,如果浏览器支持 javascript - 隐藏内容并显示动画。

    【讨论】:

    • 感谢您的意见。但这确实不应该是 hash-bang 的情况,因为如果文本浏览器遇到带有 href 的锚标记,例如 #!page,它不会导航到 com-address/#!page,而是会寻找命名的锚点 (!page)。然后导航到 hash-bang 的唯一方法是刷新页面(如果您已经在同一页面上或使用 javascript 通过 Ajax 获取 window.loacation.hash 请求)话虽如此,Google 发现了制作 AJAX 的想法- 驱动的应用程序可通过转义的分段 URL 进行爬网。
    • 酷,我不知道。它不会改变 webcrawler 不会执行 javascript 的事实,因此当爬虫访问它时,不会在您的主页上编制任何索引。我仍然认为您应该选择选项 #1。
    • 查看我帖子中的编辑部分,感谢您的帮助!
    猜你喜欢
    • 2018-12-10
    • 2018-05-13
    • 2012-04-14
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多