根据浏览器,在Meteor中使用不同样式/脚本的正确方法是什么

时间:2013-07-17 15:17:10

标签: meteor

我正在使用Meteor为移动设备构建一个具有与桌面浏览器不同的CSS和脚本(jquery mobile)的网站。我希望能够有条件地将这些包含在基于用户代理的head元素中。我确信这些都可以动态注入到DOM中,但这种事情是否有Meteor最佳实践?

2 个答案:

答案 0 :(得分:2)

我建议将一个特定于浏览器的类添加到body元素中,如此(client/lib/environment.js):

if(navigator.userAgent.indexOf("Trident/4")>-1)
    $("body").addClass("ie8");

我使用less,然后只有一个ie8.less文件:

.ie8{
//override normal styles here - may have to use !important
}

这不符合您的目标,即只加载适用于每个客户的内容,但它确实符合浏览器特定样式的费用


如果您的文件是外部存储的并且您使用的是陨石,则可以使用此https://atmosphere.meteor.com/package/external-file-loader来检测并加载所需的脚本

但是,如果您将文件存储在流星应用程序中,它们可能已经合并并发送到浏览器

答案 1 :(得分:0)

请参阅此问题:Excluding bootstrap from specific routes in Meteor。可以使用类似的方法来实现您的需求。

另外,请注意CSS @media命令,它通常用于区分移动样式。

@media only screen and (max-width:500px) {
    ...
}