Php 根据浏览器在Yii中引用不同的js文件

Php 根据浏览器在Yii中引用不同的js文件,php,javascript,yii,Php,Javascript,Yii,我有2个js文件。虽然两者都做相同的事情,但其中一个不适用于IE7,因此我有两个不同的JS文件。如果浏览器是IE7,我需要调用一个,在所有其他情况下调用另一个 我在页面顶部有标准的Yii声明 <?php Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl . '/js/jquery-1.4.4.js'); //etc.... ?> 然而,这是行不通的。我以前从未

我有2个js文件。虽然两者都做相同的事情,但其中一个不适用于IE7,因此我有两个不同的JS文件。如果浏览器是IE7,我需要调用一个,在所有其他情况下调用另一个

我在页面顶部有标准的Yii声明

<?php
    Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl . '/js/jquery-1.4.4.js');
    //etc....
?>
然而,这是行不通的。我以前从未需要做过这件事,因此我很难想出怎么做

感谢您的帮助


谢谢。

您尝试在JS上执行php代码了吗?或者我错过了什么


尝试使用扩展并在布局中使用它(或者在
Yii::app()->getClientScript()…
代码附近)

如果您想要一些js黑客,您可以在html中使用它,如下所示,以包含仅用于IE版本的脚本

<!--[if lt IE 7]>
<script src="http://example.com/js/IEjquery-1.4.4.js"></script>
<![endif]-->


请参阅

PHP是
服务器端
,在将HTML发送到客户端之前在服务器上运行。您的JavaScript是
客户端
,在客户端下载HTML后运行。如果不向服务器发出新请求(页面刷新或Ajax),就不可能使用
客户端
脚本执行PHP。啊,太酷了,谢谢你的解释George。虽然这是OP要求的,但这不是他需要的。浏览器嗅探很快变得丑陋。条件语句方法要干净得多
<!--[if lt IE 7]>
<script src="http://example.com/js/IEjquery-1.4.4.js"></script>
<![endif]-->