要在 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" />
这意味着它甚至可以完美加载。 (单击源代码中的外部 js/css 链接时显示 403 Forbidden)。但是它们的效果都没有应用到页面上。它的显示没有错误。
我已经在 Controller 中加载了 URL 助手作为 $this->load->helper('url');
并将 $autoload['helper'] = array('url'); 放在 autoload.php 中
你能解释一下我哪里错了吗
我了解到要加载外部 JS,我们需要安装 jquery-codeigniter 库。我已经下载了它们并将相应的文件包含在我的应用程序文件夹的相应类似文件夹中。
现在,当我尝试在我的 Controller 中包含 $this->load->library('jquery'); 时,它会显示
An Error Was Encountered
Unable to load the requested class: jquery
因此,我请求您帮助我理解为什么在我可以看到它指向 JS/CSS 文件的确切位置时显示 403 Forbidden,其次,如果 jquery-codeigniter 库的安装有误,请指导我.
注:http://ellislab.com/codeigniter/user-guide/libraries/javascript.html没有帮助我
编辑:
我放在 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]
在我写的 View 中
$this->load->helper('url');
<script src="<?php echo base_url("application/js/jquery-1.8.2.js"); ?>" type="text/javascript"></script>
在 Controller 中作为
$this->load->helper('url');
$this->load->library('javascript');
$this->load->library('javascript/jquery');
$this->load->library('Jquery_ext');
再次,如果我查看源代码,它指向正确的源代码,但如果我单击外部 js 文件链接,它仍然显示 403 Forbidden 错误
对不起,冗长的帖子:(
请提出建议..!
最佳答案
403 隐藏错误意味着 Web 服务器拒绝对该特定资源的请求。
我假设您正在使用提供的 .htaccess 文件来获取漂亮的 url。
在这行
RewriteCond $1 !^(index\.php|images|robots\.txt)
让它阅读
RewriteCond $1 !^(index\.php|images|robots\.txt|application/js|application/css)
实际上,以上可能是错误的,不管怎样,您需要将 css 和 js 文件夹添加到 RewriteCond 异常列表中
关于php - 外部 js 和 css 未在 codeigniter 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569752/
我在MiniTest::Spec和Capybara中使用以下规范:find_field('Email').must_have_css('[autofocus]')检查名为“电子邮件”的字段是否具有autofocus属性。doc说如下:has_css?(path,options={})ChecksifagivenCSSselectorisonthepageorcurrentnode.据我了解,字段“Email”是一个节点,因此调用must_have_css绝对有效!我做错了什么? 最佳答案 通过JonasNicklas得到了答案:No
我在Rails工作并有以下类(class):classPlayer当我运行时bundleexecrailsconsole然后尝试:a=Player.new("me",5.0,"UCLA")我回来了:=>#我不知道为什么Player对象不会在这里初始化。关于可能导致此问题的操作/解释的任何建议?谢谢,马里奥格 最佳答案 havenoideawhythePlayerobjectwouldn'tbeinitializedhere它没有初始化很简单,因为你还没有初始化它!您已经覆盖了ActiveRecord::Base初始化方法,但您没有调
我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes
我理解(我认为)Ruby中类变量和类的实例变量之间的区别。我想知道如何从该类外部访问该类的实例变量。从内部(即在类方法中而不是实例方法中),它可以直接访问,但是从外部,有没有办法做MyClass.class.[@$#]variablename?我没有任何具体原因要这样做,只是学习Ruby并想知道是否可行。 最佳答案 classMyClass@my_class_instance_var="foo"class上述yield:>>foo我相信Arkku演示了如何从类外部访问类变量(@@),而不是类实例变量(@)。我从这篇文章中提取了上述内
我想在Windows7上安装带有ruby1.9.3的rspec-railsgem。我收到一些错误消息,提示无法安装某些json库。所以,我使用下面的说明来解决它。来源=The'json'nativegemrequiresinstalledbuildtools从[rubyinstaller.org][3]下载[Ruby1.9.3][2]从[rubyinstaller.org][3]下载DevKit文件对于Ruby1.9.3,使用[DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe][4]将DevKit解压到路径C:\Ruby193\DevKit运行cd
是否有可能以某种方式访问Class.new范围内的a?a=5Class.new{defb;aend}.new.b#NameError:undefinedlocalvariableormethod`a'for#:0x007fa8b15e9af0>#:in`b' 最佳答案 即使@MarekLipka的回答是正确的——改变变量范围总是有风险的。这是可行的,因为每个block都带有创建它的上下文,因此您的局部变量a突然变得不那么局部了——它变成了一个“隐藏的”全局变量:a=5object=Class.new{define_method(
我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1
rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:
我正在尝试消除使用Bootstrap3的Rails4元素中的glyphicon错误。我没有使用任何Bootstrapgem将其添加到Assets管道中。我手动将bootstrap.css和bootstrap.js添加到各自的app/assets目录下,分别添加到application.css和application.js什么的我现在在网络浏览器的控制台中看到以下内容:GEThttp://localhost:3000/fonts/glyphicons-halflings-regular.woff404(NotFound)localhost/:1GEThttp://localhost:30
我有一个使用twitterbootstrap和sass的Rails元素。scss文件结构化到文件夹中,所以我有更好的概述。现在我想为包含我的颜色等的全局变量定义一个文件,并将这些值传递给其他文件,这样我就有更少的冗余代码。虽然所有代码都已正确导入和应用,变量不起作用。这是当前的设置:样式表/application.css.scss/**=require_self*=require_tree*//*stylesheets/||–base/||–_reset.scss#Reset/normalize||–_typography.scss#Typographyrules||–componen