你在哪里把jquery javascript代码放在CodeIgniter应用程序中?

时间:2011-09-23 17:27:55

标签: jquery 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放在其他地方并以某种方式将其发送到视图?

感谢。

3 个答案:

答案 0 :(得分:5)

我就是这样做的。对于页面特定的 javascript,我将其包含在页面本身中。对于需要在大多数页面上运行的其他javascript,我把它放在全局javascript中,我的名字叫做main.js.

因此,举个例子,假设您想在页面加载时隐藏some_div,并且此div位于特定页面上。

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

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

然后你就可以在页面特定的javascript 中执行此操作。

main / global javscript文件的一个示例是您希望在每个页面上运行的js。所以一些例子是fadeIn内容区域的动画,如果你的所有/大多数页面都有一个内容区域,并且你想在每个页面加载时淡化内容,那么全局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文件。

答案 1 :(得分:2)

在开发codeigniter应用程序时,我通常使用一个加载三个视图的模板:

  • 脚本视图
  • 标题视图
  • 主视图
  • 页脚视图

在Scripts View中,我加载了每个页面所需的常见JavaScript库(例如jQuery等)。 对于特定于页面的JavaScript,您可以使用以下两个选项:

  • 您可以在View页面上包含JavaScript,但这样会使其变得混乱且难以维护。
  • 另一种方法是为您加载的每个视图创建一个JavaScript文件,该视图需要具有特定于页面的JavaScript,然后像在任何其他JavaScript中一样在视图中加载该文件。这样做的缺点是服务器请求加倍。

最后,它真正归结为你真正感受到的和效率。

答案 2 :(得分:0)

我将所有js放在一个文件夹中,并在需要时调用它。

在我看来,这是更有序的,但没有规则说明你不能在你的观点中使用javascript。如果它的东西很简单,不会被重复使用,那么请继续将其保留在视图中。