CodeIgniter:如何在视图中包含.js文件?

Pok*_*oku 7 php codeigniter

我在哪里以及如何在CodeIgniter的Views中包含.js文件?

我试过这个:

<script type="text/javascript" src="system/application/libraries/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

因为我认为index.php是加载视图的那个,所以我猜每次加载页面时当前的dir路径都是root,因为index.php位于root.这是真的?

以上这条线并没有这样我做错了什么.我有一个CodeIgniter项目.路径是这样的:

localhost/CodeIgniter/system/application
Run Code Online (Sandbox Code Playgroud)

所以我应该使用哪条路径来包含我的jquery.js文件

localhost/CodeIgniter/system/application/libraries
Run Code Online (Sandbox Code Playgroud)

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

localhost/codeIgniter/system/application/views/till_view.php
Run Code Online (Sandbox Code Playgroud)

Phi*_*eon 14

有一个鲜为人知的解决方案,与硬编码URL或相关文件相比,它具有干净的语法和更多的可移植性.

<base href="<?=base_url();?>">

<img src="images/logo.gif" alt="Logo" />
Run Code Online (Sandbox Code Playgroud)

在我的文章" 使用BASE标记的CodeIgniter中进行资产处理 "中阅读有关如何,内容,原因的更多信息.


Ikk*_*kke 6

第一个问题:

这取决于您使用绝对或相对网址.

绝对网址来自您网域的根目录.相对URL是相对于当前目录(包括url段)加载的.

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

最简单的方法是使用url helper然后使用网站url函数,如下所示:

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

PS.我建议在CodeIgniter目录之外放置javascript和图像等内容.


Chr*_*ish 6

它不是视图的"index.php"文件.视图是控制器中加载的任何内容

$this->load->view("viewname");

然后,文件" viewname.php "可以包含.js文件,就像普通的.html(或.php)文件一样:

<script  src="/url/to/javascript.js" />
Run Code Online (Sandbox Code Playgroud)

您可能想要创建一个默认视图或"标题"视图,其中包含项目的部分或全部(通用).js文件.

-CF

  • 当您已经为自己的头像签名时,无需签名. (11认同)