Php 根据浏览器在Yii中引用不同的js文件
我有2个js文件。虽然两者都做相同的事情,但其中一个不适用于IE7,因此我有两个不同的JS文件。如果浏览器是IE7,我需要调用一个,在所有其他情况下调用另一个 我在页面顶部有标准的Yii声明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.... ?> 然而,这是行不通的。我以前从未
<?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]-->