我正在使用代码点火器,我的一些视图需要jquery。因为它们必须在多个地方使用,所以它们必须在其文件中调用jquery,但是由于它们引用了外部文件,因此在加载jquery之前会对$(document.ready)的调用进行评估,因此会失败。是否有可能将jquery放入正文并在评估javascript之前仍然加载它。或者,是通过代码点火器将jquery返回到标题中的一些方法,这些标题在相关文件之前被调用。
在视图中:
echo $this->import->js('jquery.js','jquery');
echo '<script type="text/javascript">
$(document).ready(function(){$(\'div#login.rounded\').corner();})
</script>';
您可以在http://formulator.codingproject.net/content/login/
查看该页面注意此页面实际上位于我的家庭计算机上,因此预计重新连接会失败。
答案 0 :(得分:2)
我猜答案是肯定的。您可以在jQuery.js
中加载body
。但是你必须在jQuery.js
声明之后编写你的脚本标签,否则你可能会出错:)
PS :请纠正我如果我错了:)
答案 1 :(得分:2)
应该在head元素中调用jQuery。这是你如何有条件地做(未经测试)。
在你的控制器中,每个需要jQuery的函数应该有:
$data['need_jquery'] = true;
$this->load->view('header');
在标题视图中:
<head>
<? if($need_jquery) { ?>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" /></script>
<? } ?>
</head>
答案 2 :(得分:1)
看起来你在使用PHP?如果是这样,请创建一个返回该字符串的静态方法,但前提是它尚未包含此请求。然后你可以确保它只被包含一次。
答案 3 :(得分:0)
我的网站是一样的。我所做的是我有一个标题加载在所有页面上。在那个标题中我做if($this->uri->segment(2) == 'controller')
。然后我根据需要为该控制器加载jQuery和某些脚本。
答案 4 :(得分:0)
我认为如果将jQuery包含在每个页面的标记中都会没问题,此外,你可以使用不那么重的jQuery的缩小版本。
答案 5 :(得分:0)