我们在 Django Web 应用程序中非常广泛地使用了 ajax。它不是单页设计,但在大多数情况下,我们只是使用 Django 的内置模板引擎提供 HTML 框架,并使用 JavaScript 异步加载大部分内容。
我通过谷歌阅读了这篇文章“使 AJAX 应用程序可抓取”。他们建议创建 HTML 快照以提高搜索引擎的可见性。
我们使用django-rest-framework和Mustache作为模板。
有没有一种直接的方式来使用这种设置生成静态 html 页面(HTML 快照)?
我们在 Django Web 应用程序中非常广泛地使用了 ajax。它不是单页设计,但在大多数情况下,我们只是使用 Django 的内置模板引擎提供 HTML 框架,并使用 JavaScript 异步加载大部分内容。
我通过谷歌阅读了这篇文章“使 AJAX 应用程序可抓取”。他们建议创建 HTML 快照以提高搜索引擎的可见性。
我们使用django-rest-framework和Mustache作为模板。
有没有一种直接的方式来使用这种设置生成静态 html 页面(HTML 快照)?
我建议研究 Selenium。您可以使用它在浏览器的上下文中生成您的页面(例如,包括 Ajax 之类的东西)。它被设计成一个测试工具,但这并不重要。
我们最终编写了一个受 pjax 启发的名为 pjaxr 的自定义 jquery库。在这里找到更多关于它的信息:
https://github.com/iekadou/django-pjaxr
我们还写了一个 Django 特定的实现:
https://github.com/iekadou/django-pjaxr
Pjaxr 使用对 seo 友好的 pushState。对于不支持 pushState 的浏览器,pjaxr 会完全降级为普通的静态 html。