【发布时间】:2015-11-23 14:00:53
【问题描述】:
我们希望加载以下内容:
<!--[if !IE]>
<link rel="stylesheet" type="text/css" href="/css/good-browsers.css" />
<![endif]-->
如何设置捆绑资源,以有条件地加载某个 css 文件?
答案针对两种不同的资源。
return [
// ...
'components' => [
'assetManager' => [
'bundles' => [
'yii\web\YiiAsset' => [
'jsOptions' => ['condition' => 'lt IE 7'],
],
'yii\bootstrap\BootstrapAsset' => [
'jsOptions' => ['condition' => 'lt IE 7'],
],
],
],
],
];
然而,在这种情况下,它们都与:'yii\web\YiiAsset'有关。如何有条件地加载它们?
【问题讨论】:
-
How can I add conditions to yii2 depends in AppAsset class? 的可能重复项。也就是说,Yii2 不应该忽略你的布局——你确定你没有缓存和/或正在加载不同的布局吗?您是否检查了源代码以确保它正在输出?
-
我没有阅读不同的布局。我现在已经多次“硬重置”缓存 - 但是,我想条件选项可以解决问题。谢谢。
-
这不应该被关闭。我猜链接的答案没有回答这个问题。我会重新提出这个问题。
-
@h2ooooooo 请查看此问题更新。您的链接解决方案似乎不适用于这种情况。
-
您是否多次包含 same 资产?为什么?也就是说,
AssetBundle->jsOptions是yii2\web\AssetBundle类的公共属性,因此您可以简单地在您的应用资产中设置它。应该没有理由使用该配置(而且当您将东西从实际发生的地方移开时,它只会让它看起来更加混乱)
标签: yii2