用户
 找回密码
 入住 CI 中国社区
搜索
查看: 10877|回复: 11
收起左侧

[已解决] CI下的PHP,无法加载外部JS和CSS,怎么回事?

[复制链接]
发表于 2012-10-6 21:30:06 | 显示全部楼层 |阅读模式
本帖最后由 lamtin 于 2012-10-10 19:00 编辑

我用CI在本地建了个站点,访问地址是localhost/kidsland/index.php,根据我设的route规则,controller调用login.php显示登录画面。但这个登陆页面的引用外部JS,CSS还有images都不好使,请大家帮忙解决下。另外login.php其实没有php代码,是个带js的html,为了配合CI的$this->load->view(login);才将后缀改成Php,不知有没有问题。登陆页面代码片段如下:
<!DOCTYPE HTML>
<html>
<head>
<script type='text/javascript' src='kidsland/application/js/jquery-1.7.1.js'></script>
<script type='text/javascript'>
。。。
JS代码
。。。
</script>
<link rel='stylesheet' type='text/css' href='kidsland/application/css/login_style.css'/>
</head>
<body>
。。。
。。。
</body>
</html>
是需要另行修改配置文件,还是这里的外用Js,css目录写的不对(js,css文件夹就是放在kidsland/application下的),还是问题出在这个纯html上,应该在<script>外用<?php echo '' ?>括起来?那不是这个html的每行都要用echo?谁来看下问题出在哪,研究了一天了。。。



发表于 2014-10-20 18:50:53 | 显示全部楼层

我解决了,之所以出现这个问题是因为在application、system文件夹下存在.htaccess文件,里面有一句 Deny from all ,所以不能直接访问,将他删除或者将js等文件放在和application同一级目录即可

发表于 2012-10-6 23:58:00 | 显示全部楼层
路径问题.
发表于 2012-10-8 21:14:19 | 显示全部楼层
建议设置一个静态的URL做资源服务。

在config.php加入: $config['base_static'] = 'http://localhost/assets/'; 必需/结尾,保存静态资源到assets目录下,在所有请求静态资源之前加上<?php echo $config['base_static'] ;?>

另外application,system文件夹建议不要放静态资源,更不要有访问权限。
 楼主| 发表于 2012-10-9 14:24:23 | 显示全部楼层
lamtin 发表于 2012-10-6 23:58
路径问题.

我的CSS,JS文件夹都在kidsland/application下(kidsland就是CI的根目录),我代码里引用外部JS,css写的路径不对么?
 楼主| 发表于 2012-10-9 14:38:28 | 显示全部楼层
PS:我用的是wamp5服务器来跑CI工程,我把CI放到wamp的www文件夹下,改名为kidsland,即我的工程,所以我的目录是
kidsland
    application
        controllers
        views
        js
        css

这样我login.html里代码里引用外部js,css的路径不对么?
 楼主| 发表于 2012-10-9 17:27:30 | 显示全部楼层
解决了,把JS,CSS文件夹从application下拿到kidsland根目录下,代码里的路径引用写成http://localhost/kidsland/js/***.js
 楼主| 发表于 2012-10-9 17:48:20 | 显示全部楼层
才发现,是CSS的问题解决了,JS还是加载不上去。。。
 楼主| 发表于 2012-10-9 17:58:24 | 显示全部楼层
xrzedane 发表于 2012-10-9 17:48
才发现,是CSS的问题解决了,JS还是加载不上去。。。

又仔细看了下JS,即使不用外部引用,直接把脚本写在login.php的<script>....</script>里,onclick还是不好使,调不到js里的函数。奇怪了。不过我的<script>部分没用<?php echo '';?>括起来,应该没事啊,其他html部分都没用echo括啊
 楼主| 发表于 2012-10-9 18:33:37 | 显示全部楼层
刚才JS的语法有个错误,导致不能运行。路径引用没有错,和CSS一样,此问题解决了。
发表于 2012-10-10 18:59:38 | 显示全部楼层
恭喜楼主!

本版积分规则