大家是怎样组织和引入css和javascript文件的?
大家一般会把css和javascript放在CI中的那个目录下?又是怎样的在页面中利用<link></link>和<script></script>把自己的css还有javascript文件引入的。难点就在于在CI中,用scr这样的属性引入文件目录不是很直观。望达人解惑,多谢。 首先,说一下,类似的帖子论坛已经发过了,呵呵。
然后,我说一下,我一般都放到和 index.php 同级的目录下,然后用 URL Helper 的 base_url() 函数引用。 css和javascript只要放到网站目录下就可以,不一定非得在根目录下,然后用base_url()辅助函数引入绝对路径就ok:lol
搞定了。。原来是我把base_url()设错了。。谢谢各位
搞定了。。原来是我把base_url()设错了。。谢谢各位 点样设base_url()? :lol...... 这只是解决了文件引用的问题但还是有许多不方便之处,举一个我碰到的例子
例如控制器c里有2个函数f1和f2,两个函数会分别加载视图文件v1和v2,
v1和v2会引用一个相同的css文件,该css文件定义了一个背景,会加载一张背景图片,如果该图片地址不使用绝对地址的话,基本上该css文件就不可能被v1和v2共用
例如当你访问如下两个地址时
http://localhost/c/f1
http://localhost/c/f2/23//向f2传递了一个参数23
(当css文件中关于背景部分没有使用绝对地址时)如果访问地址1背景图片能够显示正常的话,地址2背景一定是显示不出来的
解决办法只有在css文件中使用绝对地址
这样做将来的一个问题就是一旦你的站点域名发生变化了,你除了要修改配置文件里的 base_url,你还要修改类似css文件中的绝对地址 css 里面的地址是相对于当前 css 文件的,和你访问的 URL 无关,这个楼上的朋友可以测试一下。
也就是说,css 里用相对路径完全OK,CI 中国就是这么做的。 本帖最后由 clhqk 于 2009-11-23 16:06 编辑
回复 5# xman81
设置base_url(),必须要加载helper('url');
方法1:
在你使用base_url()的控制器里面加载.
$this->load->helper('url');
方法2:
如果使用比较频繁,可以直接在system/application/config/autoload.php里设置.
$autoload['helper'] = array('url');
同时我再声明一下,如果你使用URL重写的话,尤其是重写到index.php的时候,注意书写内容,我一般有这个习惯,希望大家注意!
.htaccess的内容如下:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|style|fckeditor|uploads|robots\.txt)//这里一定要把能访问的文件夹写进去!
RewriteRule ^(.*)$ index.php/$1
大家一起学习CI,共同进步吧! 汗。。。我一般把css文件放在images文件夹下,这样在css里面什么路径也不用写,直接写background:url(图片名称)。。呵呵。
另外利用好.htaccess,把图片,flash,js,editor都放在根目录下的某个文件夹里面,我觉得就路径问题基本不存在了。
页:
[1]
2