2011-09-23 102 views
3

如果我有這條線在我看來:你在哪裏把jQuery的JavaScript代碼放在CodeIgniter應用程序中?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 

難道我也把我的真實腳本在我的看法?

<script type="text/javascript">           
$(document).ready(function() { 

    alert("Hello world!"); 

}); </script> 

或者我把我的實際javascript放在別的地方,並把它發送到視圖?

謝謝。

回答

5

這就是我這樣做的。對於頁面特定 javascript我將它包含在頁面本身中。對於需要在大多數頁面上運行的其他JavaScript,我將它放在全局JavaScript中,我的名稱爲main.js。

因此,作爲一個例子,假設您想在頁面加載時隱藏some_div,並且此div位於特定頁面上。

<body> 
    <div id="content"> 
    <div id="some_div"> 

    </div> 
    </div> 
</body> 

那麼你會只是做的是,在頁面的JavaScript特定

主/全局javscript文件的一個例子是您希望在每個頁面上運行的js。因此,一些示例將淡入內容區域的動畫中,如果所有/大多數頁面都有內容區域,並且您希望在每次頁面加載時淡入內容,那麼全局Java腳本將是放置它的好地方沒有重複的代碼。另一個例子是,如果你想使用class="calendar"將所有輸入變成日期選擇器,那麼在你的全局js文件中,你只需要做。

$(function(){ 
    $('.calendar').datepicker() 
}); 

這樣你就不必做的每一頁,並重復的代碼。長話短說,如果你打算在其他頁面中使用相同的js代碼,那麼不妨將它放在全局js文件中。


關於codeigniter。我所做的是爲我的所有js和css文件創建一個「視圖部分」(實際上只是一個視圖)。所以,在我看來js.php我有:

<script type="text/javascript" src="/javascript/jquery.js" /> </script> 
    <script type="text/javascript" src="/javascript/jquery-ui.js" /> </script> 
    <script type="text/javascript" src="/javascript/main.js" /> </script> 

然後我就引用該視圖中查看頁面的部分,我需要包括腳本,即

<?php $this->load->view('/common/js') ?> 

這樣我就不需要手動包括我需要爲每個視圖的JavaScript文件。

0

我有我的所有js在一個文件夾中,並在我需要它時調用它。

這在我看來是比較有序的,但是沒有規則說明你的不能在你的意見中有javascript。如果它的東西很簡單,不會被重新使用,那麼繼續前進並保持在視圖中。

2

當開發一個笨的應用程序,我通常用它加載三個視圖模板:

  • 腳本查看
  • 頭查看
  • 主視圖
  • 頁腳視圖

在腳本視圖,我加載了每個頁面所需的常用JavaScript庫(例如jQuery等)。 對於頁面的JavaScript特定的,有,你可以遵循兩個選項:

  • 你可以包括瀏覽網頁本身JavaScript的,但是這將使其混亂和難以維護。
  • 另一種方法是爲加載的每個視圖創建一個JavaScript文件,該文件需要具有頁面特定的JavaScript,然後像視圖中的其他任何JavaScript一樣在該視圖中加載該文件。其缺點是服務器請求翻倍。

最後,它真的歸結爲你真正感到舒適和效率。

相關問題