Javascript 在<;中显示自定义HTML;头>;来自Yii的控制器
我们正在为我们的项目使用Yii。我试图在标题中有条件地注册两个JS脚本/资产:一个用于IE8,另一个用于其他浏览器-使用条件注释(例如Javascript 在<;中显示自定义HTML;头>;来自Yii的控制器,javascript,php,yii,clientscript,Javascript,Php,Yii,Clientscript,我们正在为我们的项目使用Yii。我试图在标题中有条件地注册两个JS脚本/资产:一个用于IE8,另一个用于其他浏览器-使用条件注释(例如”; 但是,当我查看源代码时,脚本显示在文档的顶部(甚至在之前)。如果可能,我希望在中显示它,您可以在head中设置如下: <?php echo $_SERVER['HTTP_USER_AGENT']; $browser = get_browser(null, true); print_r($browser); ?> 转到->视图->布局->ma
”;
但是,当我查看源代码时,脚本显示在文档的顶部(甚至在
之前)。如果可能,我希望在
中显示它,您可以在head中设置如下:
<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser(null, true);
print_r($browser);
?>
转到->视图->布局->main.php
简单添加您需要的内容
i、 e
//还没有测试第二个选项,但应该有效
您可以使用以下任一选项检查浏览器类型和版本:
<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser(null, true);
print_r($browser);
?>
检查此链接,您可以使用以下扩展 我将文件放入组件中,然后只需输入代码即可
$b = new EWebBrowser();
if($b->platform == "Internet Explorer" && $b->version == "8.0") {//you could explode version at the . I guess, however not sure if there is even a version 8.x or whatever
Yii::app()->clientScript->registerScriptFile("path/to/script");
} else {
Yii::app()->clientScript->registerScriptFile("path/to/otherscript");
}
我用当前的IE、Firefox和Chrome浏览器进行了测试。我无法确保这能与这些浏览器的其他版本一起使用。它已经使用了两年,但似乎仍能正常工作。这不是最佳方法,但您可以使用以下代码实现您的目标: 如果您希望上述条件语句用于特定的控制器,则: 在layouts/main.php下
<?php if (Yii::app()->getController()->getId() == 'Your Controller Name'): ?>
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<?php endif; ?>
<?php if (Yii::app()->getController()->getId() == 'Your Controller Name' && Yii::app()->getController()->getAction()->getId() == 'Your Action Name'): ?>
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<?php endif; ?>
如果您希望上述条件语句用于特定控制器的操作,则:
在layouts/main.php下
<?php if (Yii::app()->getController()->getId() == 'Your Controller Name'): ?>
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<?php endif; ?>
<?php if (Yii::app()->getController()->getId() == 'Your Controller Name' && Yii::app()->getController()->getAction()->getId() == 'Your Action Name'): ?>
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<?php endif; ?>