【问题标题】:CodeIgniter: How do I include a .js file in view?CodeIgniter:如何在视图中包含 .js 文件?
【发布时间】:2010-12-05 07:56:24
【问题描述】:

在 CodeIgniter 的视图中,在何处以及如何包含 .js 文件?

我试过这个:

<script type="text/javascript" src="system/application/libraries/jquery.js"></script>

因为我认为 index.php 是加载视图的那个,所以我猜测每次加载页面时当前目录路径都在根目录,因为 index.php 位于根目录。这是真的吗?

上面的行没有,所以我做错了什么。我有一个 CodeIgniter 项目。路径是这样的:

localhost/CodeIgniter/system/application

那么我应该使用哪个路径来包含我的 jquery.js 文件,该文件位于

localhost/CodeIgniter/system/application/libraries

当我想在此处的视图中加载 jquery.js 文件时:

localhost/codeIgniter/system/application/views/till_view.php

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    有一个鲜为人知的解决方案,它使用简洁的语法和比硬编码 URL 或相关文件更具可移植性。

    <base href="<?=base_url();?>">
    
    <img src="images/logo.gif" alt="Logo" />
    

    在我的文章“Asset handling in CodeIgniter with the BASE tag”中了解更多关于如何、什么、为什么。

    【讨论】:

    • 谢谢。这真的改变了我的世界:)
    【解决方案2】:

    视图不是“index.php”文件。视图是在您执行

    时加载到控制器中的任何内容

    $this-&gt;load-&gt;view("viewname");

    文件“viewname.php”然后可以包含 .js 文件,就像普通的 .html(或 .php) 文件将:

    <script  src="/url/to/javascript.js" />
    

    您可能希望为您的项目创建一个包含部分或全部(常见).js 文件的默认视图或“标题”视图。

    -CF

    【讨论】:

    • 如果您已经为您签名,则无需签名。
    • 有没有办法从控制器中添加它?我有一个旧的 codeigniter 应用程序,它使用由一组内部机构网站共享的头文件。我知道我可以轻松地说出“”(有些浏览器不喜欢上面的自关闭版本)。无论如何,在除标题之外的任何地方添加 CSS 都不符合 w3c,而且我更愿意在标题中包含我的 JS。使用 web2py,我可以做到 response.append(URL('static','file.css'))。我们机构的其他 CI 应用我见过类似 this-&gt;addJS("file.js"); 有 CI 标准吗?
    【解决方案3】:

    第一个问题:

    这取决于您使用的是绝对网址还是相对网址。

    绝对网址来自您的域的根目录。相对 url 从当前目录加载(包括 url 段)。

    第二个问题: 最好使用绝对 URL。由于漂亮的 url,不建议使用相对 url。

    最简单的方法是使用url helper,然后像这样使用站点url函数:

    $this->load->helper('url');
    echo site_url('system/application/libraries/jquery.js');
    

    附言。我建议将 javascript 和图像之类的东西放在 CodeIgniter 目录之外。

    【讨论】:

      【解决方案4】:

      base_url() 对我来说总是很好

      【讨论】:

        【解决方案5】:

        这是一个与 OP 特别相关的解决方案,我认为没有其他人提供过。

        <script type="text/javascript" src="<?= base_url() ?>libraries/jquery.js"></script>
        

        因此,base_url() 将提供直接到您网站根目录的路径。

        【讨论】:

          【解决方案6】:
          <script type="text/javascript" src="<?php base_url() ?>libraries/jquery.js"></script>
          

          base_url() 将提供网站的网址

          【讨论】:

            【解决方案7】:

            直接访问文件的最简单方法:

            <img src="http://localhost/ci/you_dir/your_img/your_image.png" />
            

            其中 ci 代表 codeigniter。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-08-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-03-14
              • 1970-01-01
              相关资源
              最近更新 更多