我想知道是否有人找到了解决此问题的方法。有没有办法两全其美:
- 建立一个基于页面的站点,具有永久链接、可访问性、SEO 和优雅的后备/渐进增强(基本上是 Web 开发的所有最佳实践)
- 并且,对于那些使用 javascript 的人来说,通过 ajax 加载内容的响应式前端体验,在导航底层站点页面时不会刷新页面,脚本/内容/css/等的冗余下载最少。(AngularJs 或 Ember.js 等客户端框架的所有好处)
我看到一些主要站点能够管理这个(gmail、stackoverflow),并且我看到Jeff 的新站点在 noscript 标记中构建了该站点的基本版本。
- 混合页面/单页面应用程序的解决方案是构建站点的两个版本,发送两个版本,然后让客户决定它可以显示哪个版本?(这就是gmail的作用吗?)
- 或者是 AngularJS 等人的问题。根本就没有设计为允许优雅降级?
认为#1是答案,这让我的大脑感到很痛苦。
(我专注于 AngularJs 的原因是我喜欢它对 html 模板、声明式样式的支持以及它尝试修复 js 范围的尝试。Ember 和其他框架也非常出色;也许其中一个更适合混合站点?)