使用CodeIgniter导入js和CSS的最佳方法是什么?

Sungje Moon

这是我的第一个使用CodeIgniter的项目,它并不像看起来那样简单。

我必须在不同的页面中导入不同的JS和CSS,但我陷入了困境。

首先,我已经看到硬编码回声不是CI的实现方式,所以我做了一个简单的类,例如

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Fileload {

            public function loadjs($filename)
            {
                echo '<script language="javascript" type="text/javascript" src="'.$filename.'"></script>';
            }
            public function loadcss($filename)
            {
                echo '<link rel="stylesheet" type="text/css" href="'.$filename.'" >';
            }
    }
    ?>

在我的控制器中,我像

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Main extends CI_Controller {

    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *      http://example.com/index.php/welcome
     *  - or -
     *      http://example.com/index.php/welcome/index
     *  - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */
    public function index()
    {
        $this->load->library('fileload');

        $this->load->view('head');
        $this->load->view('mainpage');
        $this->fileload->loadjs('//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js');
        $this->load->view('tail');
    }
}

但是,应该位于“ tail”上方右下方的光滑库位于head>标记内部的顶部,该标记位于view('head')内部;

似乎控制器的方法没有按照我写下的顺序运行。它应该先回显脚本文件。

谁能解释这个CodeIgniter控制器的工作原理吗?

Sungje Moon

我只是通过制作一个加载JS和CSS的视图来做到这一点的

    $data['css']=array('main.css','navbar.css');
    $data['csscdn']=array('//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css');
    $data['js']=array('typeahead.js','navbar.js');
    $data['jscdn']=array('//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js');


    $this->load->view('head',$data);
    $this->load->view('mainpage');
    $this->load->view('tail',$data);

像这样的控制器和

    <?php 
    if(isset($css)){
    foreach($css as $script):?>
           <link rel="stylesheet" href='<?php echo base_url()."bydcss/".$script;?>'>
    <?php endforeach;
    }
    if(isset($csscdn)){  foreach($csscdn as $script):?>
           <link rel="stylesheet" href='<?php echo $script;?>'>
        <?php endforeach;
    }
    ?>

对于head.php

    <?php 
    if(isset($js)){
    foreach($js as $script):?>
       <script type='text/javascript' src = '<?php echo base_url()."bydjs/".$script;?>'></script>
    <?php endforeach;
    }
    if(isset($jscdn)){  foreach($jscdn as $script):?>
       <script type='text/javascript' src = '<?php echo $script;?>'></script>
    <?php endforeach;
    }
    ?>

对于tail.php

在视图上有点脏,但对于控制器来说更简单

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Nuxt.js项目中使用normalize.css的最佳方法是什么?

使用CSS或javascript折叠和展开html 4中的列表的最佳方法是什么

使用Tensorflow.js和tf.Tensor处理大数据的最佳方法是什么?

使用 css + sass 构建这个网格的最佳方法是什么?

在Node.js中使用Akka的最佳方法是什么

使用React Js的最佳方法是什么:Redux,Hooks或Context?

使用PHP和JQuery生成HTML的最佳方法是什么

将CSS3 Transitions和Animations与jQuery addClass / removeClass一起使用的最佳方法是什么?

导入和提供可选功能的Python最佳做法是什么?

在Codeigniter中编写模型代码的最佳方法是什么

在CodeIgniter中防止SQLInjection的最佳方法是什么

在Codeigniter中配置电子邮件的最佳方法是什么?

从ESModules中的复杂路径导入模块的最佳方法是什么

导入es6模块的最佳方法是什么?

导入元素依赖项的最佳方法是什么?

使用Codeigniter加载多个视图的最佳选择是什么?

使用JasperReports的最佳方法是什么?

使用OnClick事件的最佳方法是什么?

结合使用redux的最佳方法是什么?

导入和/或将Gmail-Google联系人与Skype联系人同步的最佳方法是什么?

导入、读取和添加到保存在文本文件中的列表的最佳方法是什么?

在Scala.js中使用JS值真实性的最佳方法是什么?

从node.js和Typescript中的动态文件名加载JSON的最佳方法是什么?

在node.js中执行“多线程”的最佳和有效方法是什么?

连接Django模型选择字段和React js选择选项的最佳方法是什么

使用服务方法进行单元测试节点js控制器的最佳方法是什么

在codeigniter中使用__autoload的最佳解决方案(特别是对于性能和纯净代码)是什么?

使用CSS或Jquery在div中删除时间文本的最佳方法是什么

使用Parceljs时,为Prime React组件包括CSS文件的最佳方法是什么?

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

  3. 3

    创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

  4. 4

    为什么Java中的System.out.println()打印到控制台?

  5. 5

    卷曲函数无法解析来自bash中变量的代理

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    设置与Apache POI Excel表散点图标记图标的颜色

  8. 8

    将Qt Pyside2与asyncio await语法一起使用?

  9. 9

    崇高的文字+蟒蛇的蟒蛇

  10. 10

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  11. 11

    OpenJDK的和AdoptOpenJDK的区别

  12. 12

    大型数据集缓存到Spark内存中时,“超出了GC开销限制”(通过sparklyr和RStudio)

  13. 13

    “执行测试CMAKE_HAVE_LIBC_PTHREAD”失败实际上是什么意思?

  14. 14

    使用Core 2.2中的Identity,如何在关闭浏览器15分钟后保持会话活动?

  15. 15

    React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

  16. 16

    猫鼬查找结果,然后将字段替换为findOne

  17. 17

    如何降级Google Colab的Torch版本

  18. 18

    Keras提前停止回调错误,val_loss指标不可用

  19. 19

    如何避免VSCode中的“导入路径不能以.ts扩展名结尾”错误?

  20. 20

    Nuxt.JS:如何在页面中获取路由URL参数

  21. 21

    是否有为什么会AccessibilityManager.sInstance导致内存泄漏的一个原因?

热门标签

归档