我正在使用 Meteor 为移动设备构建一个具有与桌面浏览器不同的 CSS 和脚本(jquery mobile)的站点。我希望能够有条件地将这些包含在基于用户代理的 head 元素中。我确信这都可以动态注入到 DOM 中,但是对于这种事情有 Meteor 最佳实践吗?
问问题
184 次
2 回答
2
我建议向 body 元素添加一个特定于浏览器的类,如下所示(client/lib/environment.js
):
if(navigator.userAgent.indexOf("Trident/4")>-1)
$("body").addClass("ie8");
我使用较少,然后只有一个 ie8.less 文件,如下所示:
.ie8{
//override normal styles here - may have to use !important
}
这不符合您仅加载适用于每个客户端的内容的目标,但它确实符合浏览器特定样式的要求
如果您的文件是外部存储的并且您正在使用陨石,您可以使用此https://atmosphere.meteor.com/package/external-file-loader来检测然后加载所需的脚本
但是,如果您将文件存储在您的流星应用程序中,它们可能已经被合并并发送到浏览器
于 2013-07-17T16:23:26.800 回答
0
请参阅此问题:Excluding bootstrap from specific routes in Meteor。可以使用类似的方法来实现您所需要的。
另外,请注意 CSS@media
命令,它通常用于区分移动样式。
@media only screen and (max-width:500px) {
...
}
于 2013-07-18T07:19:57.127 回答