如果我认为这一行:
<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放在其他地方并以某种方式将其发送到视图?
感谢。
答案 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,您可以使用以下两个选项:
最后,它真正归结为你真正感受到的和效率。
答案 2 :(得分:0)
我将所有js放在一个文件夹中,并在需要时调用它。
在我看来,这是更有序的,但没有规则说明你不能在你的观点中使用javascript。如果它的东西很简单,不会被重复使用,那么请继续将其保留在视图中。