我正在尝试使用 AngularJS 作为我网站的主视图来创建 SPA。我在服务器端使用 ServiceStack,因此可以根据访问它的内容干净地提供 HTML 或 JSON 请求。我主要担心的是使用脚本拦截器,阻止 AngularJS 正确呈现页面。到目前为止,我的主要工作方式是渲染静态页面,并注入一个小脚本,如果它检测到是否启用了 Javascript,则重定向到 AngularJS 驱动的页面。这很好用,因为当用户从静态页面开始时,每个 URL 都可以正常工作,但是我遇到了一些障碍。
- 如果 JavaScript 被禁用,浏览包含“?View=SPA”的链接会破坏页面
- 这会导致加载的第一个页面被加载两次。
我正在寻找替代方案,但到目前为止我还没有找到任何干净的解决方案。我正在考虑将“?View=SPA”作为 POST 变量包含在内,但我仍然不确定该实现。
有什么想法吗?