gpt4 book ai didi

javascript - 在 Yii 中的 Controller 的 中显示自定义 HTML

转载 作者:行者123 更新时间:2023-12-02 18:00:41 26 4
gpt4 key购买 nike

我们的项目使用 Yii。我正在尝试在 header 中有条件地注册两个 JS 脚本/ Assets :一个用于 IE8,一个用于其他浏览器 - 使用条件注释(例如 <!--[if lte IE 8]> )。

但是,我只熟悉Yii::app()->clientScript->registerScriptFileYii::app()->clientScript->registerScript ,其中没有一个公开了用条件注释包围注册脚本的方法。

我尝试直接执行 echo在 Controller 操作开始时:

echo '<!--[if lte IE 8]><script src="'.$assetsPath . '/charts/r2d3.js'.'" charset="utf-8"></script><![endif]-->';

但是,当我查看源代码时,脚本显示在文档的顶部(甚至在 <html> 之前)。如果可能的话,我想将其显示在<head>中.

最佳答案

您可以使用以下扩展

http://www.yiiframework.com/extension/ewebbrowser/

我将文件放入组件中。然后就在代码中做

$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 浏览器对此进行了测试。我无法确保这适用于这些浏览器的其他版本。它已有两年了,但似乎仍然有效。

关于javascript - 在 Yii 中的 Controller 的 <head> 中显示自定义 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com