Javascript 在<;中显示自定义HTML;头>;来自Yii的控制器

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

我们正在为我们的项目使用Yii。我试图在标题中有条件地注册两个JS脚本/资产:一个用于IE8,另一个用于其他浏览器-使用条件注释(例如
”;

但是,当我查看源代码时,脚本显示在文档的顶部(甚至在
之前)。如果可能,我希望在
中显示它,您可以在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; ?>