2009-10-09 84 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()將直接提供給您的網站的根目錄的路徑。