2011-09-23 100 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一样在该视图中加载该文件。其缺点是服务器请求翻倍。

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

相关问题