2009-10-09 46 views
7

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

我已经试过这样:

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

当我想通了的index.php是加载的意见之一,所以我猜测,每一次页面加载当前目录路径因为index.php位于根目录下。这是真的?

上面的代码不会让我做错事。我有一个CodeIgniter项目。路径是这样的:

localhost/CodeIgniter/system/application 

所以我应该使用哪条路径包括位于

localhost/CodeIgniter/system/application/libraries 

我的jquery.js文件时,我想加载的jquery.js文件中查看位于:

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

回答

6

这并不是说是“的index.php”文件的视图。该视图无论是装入您的控制器,当你做一个

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

文件“viewname.php”随后可以包括的.js文件,只是作为一个正常的的.html(或.PHP)文件将:

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

您可能希望创建一个默认视图或“头”认为,包括部分或全部的(普通).js文件为您的项目。

-CF

+11

当你已经有你的头像为你签名时,你不需要签署你的名字。 – random 2009-10-11 01:35:06

+0

有没有办法从控制器添加它?我有一个传统的codeigniter应用程序,它使用一个由一组内部机构网站共享的头文件。我知道我可以轻松地说“”(某些浏览器不喜欢上面的自闭版本)。无论如何,它不符合w3c标准,除了标题之外的任何地方添加CSS,我还希望将我的JS包含在标题中。用web2py,我可以做response.append(URL('static','file.css'))。我们学校的其他CI应用程序我见过类似this->addJS("file.js");的是CI标准吗? – Kasapo 2011-08-19 16:43:54

+0

[** script_tag()为CodeIgniter **](https://github.com/JDMcKinstry/CIScriptTag) – SpYk3HH 2016-06-23 17:49:29

6

第一个问题:

这取决于如果你使用绝对或相对URL。

绝对网址来自您网域的根。相对URL从当前目录(包括url段)加载相对路径。第二个问题: 最好使用绝对URL。由于有漂亮的网址,建议不要使用相关网址。

最简单的方法是使用url helper,然后使用网站的网址功能是这样的:

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

诗篇。我建议将JavaScript和图像放在CodeIgniter目录之外。

4

base_url()一直工作正常,我

14

有一个鲜为人知的解决方案,以简洁的语法作品真的很好,更便携性不是硬编码的URL或相对文件。

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

<img src="images/logo.gif" alt="Logo" /> 

了解更多关于我的文章“Asset handling in CodeIgniter with the BASE tag”的原理和方法。

+0

谢谢。这真的改变了我的世界:) – unni 2012-03-23 08:03:54

+0

这工作对我来说,但我希望你的链接工作。 – 2014-03-18 14:08:16

-1

您可以直接访问该文件最简单的方法:

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

,其中CI是笨。

0

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

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

所以,base_url()将直接提供给您的网站的根目录的路径。