我正在开发一个现有的MVC项目,目前正在考虑使用显示模式功能。我希望最终的应用程序能够返回三种不同类型的视图。
- 移动-移动电话,IE6/7
- 非JavaScript浏览器-平板电脑
- 平板电脑浏览器桌面-桌面浏览器
除了JavaScript检测之外,一切都很简单。
目前,它是一个桌面应用程序,性能会适度下降。这很好,但需要花费大量时间来支持非JavaScript用户(仅占我们受众的2%,其中大多数可能是机器人)。因此,我想为非JavaScript用户提供该网站的基本移动版本,这应该需要较少的支持。
我知道有些东西必须在客户端呈现,然后重定向。但最好的方法是什么?我是默认为mobile并使用JavaScript重定向,还是使用<noscript>
标记?
感谢您的帮助
在您的场景中,使用<noscript>
标记和元刷新可能是您想要的:
<head>
<noscript>
<meta http-equiv="refresh" content="0; url=http://example.com/mobile" />
</noscript>
</head>
我不建议用另一种方式(首先加载手机并用JavaScript重定向),因为正如你所说,非JS用户只有2%,这只会给所有其他用户增加不必要的开销。