要在codeignitor中加载外部Javascript文件,我正在使用
<script src="<?php echo base_url("application/js/contentslider.js"); ?>" type="text/javascript"></script>
我可以在页面的源代码中看到
<script src="http://localhost/cinifb_ci/application/js/contentslider.js" type="text/javascript"></script>
这意味着据我所知,文件加载完全类似于我的CSS文件,我用过
<link rel="stylesheet" href="<?php echo base_url(); ?>application/css/default.css" type="text/css" />
并在页面的源代码中显示为
<link rel="stylesheet" href="http://localhost/cinifb_ci/application/css/default.css" type="text/css" />
这意味着即使它的装载也很完美。 (单击源中显示403 Forbidden
)的外部js / css链接。但它们的效果都不适用于页面。没有错误显示。
我在控制器中加载了URL帮助器$this->load->helper('url');
并将$autoload['helper'] = array('url');
放入autoload.php
我了解到要加载外部JS,我们需要安装jquery-codeigniter库。我已经下载了它们,并将相应的文件包含在我的应用程序文件夹的相应类似文件夹中。
现在,当我尝试在我的控制器中包含$this->load->library('jquery');
时,显示
An Error Was Encountered
Unable to load the requested class: jquery
因此,我请求您帮助我理解为什么403 Forbidden正在显示它指向JS / CSS文件的确切位置,其次如果jquery-codeigniter库的安装错误请指导我。
注意:http://ellislab.com/codeigniter/user-guide/libraries/javascript.html没有帮助我
编辑:
jquery-codeigniter库已放入system/libraries/javascript/
在系统.htaccess文件中,我写成
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|images|css|js|video_files|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /cinifb_ci/index.php/$1 [L]
在视图中我写的是
$this->load->helper('url');
<script src="<?php echo base_url("application/js/jquery-1.8.2.js"); ?>" type="text/javascript"></script>
在控制器中
$this->load->helper('url');
$this->load->library('javascript');
$this->load->library('javascript/jquery');
$this->load->library('Jquery_ext');
如果我看源它指向正确的源但仍然如果我点击外部js文件链接,它显示403 Forbidden
错误
对不起冗长的帖子:(
建议请..!
答案 0 :(得分:1)
403隐藏错误意味着Web服务器拒绝对该特定资源的请求。
我假设您正在使用提供的.htaccess文件来获取漂亮的网址。
在
行RewriteCond $1 !^(index\.php|images|robots\.txt)
让它阅读
RewriteCond $1 !^(index\.php|images|robots\.txt|application/js|application/css)
实际上,上述内容可能是错误的,无论如何,您需要将css和js文件夹添加到RewriteCond
例外列表中
答案 1 :(得分:1)
最好的方法是创建文件夹资源,然后你需要输入css,images,js等。
在此文件夹中保存js / contentslider.js,最后保存在标题类型中:
<script type="text/javascript" src="<?php echo base_url();?>assets/css/js/contentslider.js"></script>
别忘了,你需要在config.php中设置base_url()。
谢谢
答案 2 :(得分:0)
您应该将js
文件夹包含在.htaccess中
如果你的.htaccess
文件在你的应用程序文件夹中,那么复制它并将其粘贴到应用程序文件夹的平均根目录然后打开它并过去我提到的代码,你只需要在第3行更改名称sample
您的网站名称或主文件夹
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]