注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

关注Web应用解决方案MySql/PHP/Python一盏名为"飞川"的灯~

 
 
 

日志

 
 

PHP codeigniter 框架如何引入外部css和js文件?CI框架引入(用)外部的JS与CSS无效果?  

2013-04-26 16:41:15|  分类: Web技术-Php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
PHP codeigniter 框架如何引入外部css和js文件?CI框架引入(用)外部的JS与CSS无效果? 

最近有很网友都问在PHP codeigniter框架中如何引入JS、CSS文件?怎么没有效果?
我查看了我blog,发现我写过一篇这样的文章。这里再整一下,以及各位网遇到的问题(CI框架使用2.0版本)。
我们下载解压后就看到如下文件目录:
PHP codeigniter 框架如何引入外部css和js文件?CI框架引入(用)外部的JS与CSS无效果? - fc_lamp - @fc_lamp
 这里要注意一下:如果你使用版本较低的话,目录结构就不这样的了,不过不影响我们。
 1  我们将application、system、index.php 上传到网站根目录下。

 2  我们再在根目录下新建一个目录“resources” 来专门存放我们CSS、JS、image等资源(这里资源目录的结构可自行定义,我这里为了做演示,只是简单处理)。
     这里css、JS等是不能放到application、system目录的(有网友就这么做)。 因为出于安全原因(或者MVC模式) 这里目录是只不能直接通过URL形式访问到的,这些目录里有一个..htaccess 文件,里包含一句代码:“Deny from all”。就是此命令阻止用户直接访问这些目录(关于显示Apache目录列表 显示禁止问题参看http://fc-lamp.blog.163.com/blog/static/17456668720109300210734/)。

3  我们在 resources 目录里添加一个文件:ajax.js。 这样我们在VIEW层中的文件为index.html引入JS时,如下方式:
   

<script type="text/javascript" src="url/ajax.js'?>"></script> 

注这里url是你的网站绝对URL(绝对 URL,就是 http://domain/ajax.js 这样叫做绝对 URL)

比如:http://www.fc-lamp.com/resources/aja.js


实际上到这里JS就可以正确引入进来的。

更多》》》》》

1 使用 BASE_URL() 函数

当然为了可维护性,你也可以用CI自带的BASE_URL来设置,如下:

1)  首先进入 application/config/config.php文件,在config.php文件中设置base_url:

$config['base_url'] =http://www.exiplode/; //这里是你的网站根目录

2) 导入 BASE_URL()函数

   base_url()函数是helper 函数,需要导入才能使用。

  可以在控制器里如下导入:

 $this->load->helper('url');

或者在config/autoload.php 文件里自动导入

:/*
| -------------------------------------------------------------------
|  Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
|    $autoload['helper'] = array('url', 'file');
*/

$autoload['helper'] = array('url');

3) 然后进入VIEW层中具体页面中引入即可:

<script type="text/javascript" src='<?=base_url().'resources/Ajax.js'?>'></script>


隐藏了url中的index.php文件、使用URL重写规则时。
   当然我们有时为了URL SEO方面考虑,会将index.php 隐藏起来,即让URL重写。但要注意像CSS、JS等这些资源是要排除掉的。
   我们在网站根目录里放入.htaccess文件,内容为:

       RewriteEngine on    
       RewriteCond $1 !^(index\.php|resources|robots\.txt)    #在这里写要排除的资源等
       RewriteRule ^(.*)$ index.php/$1 [L]

 也就是说:当用户访问resources目录、robots.txt文件时都不重定向到index.php, 其它一律重定向到index.php。
注:关于上面 apache的重写模块的更多信息看:http://fc-lamp.blog.163.com/blog/static/1745666872012923403688/

3  还是无效果?浏览器访问一下。
    如果以上都OK后,还没有效果的话。就要看看JS、CSS是否引入进来了。你可以直接访问一下JS URL看是否有内容。


PS:若还是有问题,请留言。






  评论这张
 
阅读(4573)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017