我有几个JavaScript文件,我在每个项目上使用,目前使用CDNJS加载它们.
但是,我试图查看是否有一种很好的方法来检查CDN是否可用,或者是否可以从CDN获得这些文件.当然,如果CDN上没有这些文件,我会在本地加载它们.
这是我目前使用的JS文件:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>window.jQuery || document.write('<script type="text/javascript" src="./scripts/jquery.min.js">\x3C/script>')</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/retina.js/1.0.1/retina.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.3.0/respond.js"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/selectivizr/1.0.2/selectivizr-min.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,如果我有加载jQuery的后备,而不是任何其他文件.
任何帮助将不胜感激!
所以我正在使用PHP框架CodeIgniter(http://ellislab.com/codeigniter)开发一个项目,在其中,我们使用了很多各种CSS/JS文件,这些文件在我们的头文件中被调用.
我之前在WordPress网站和其他项目上使用了Minify工具,并在GitHub上运行了这个库以获取CodeIgniter(https://github.com/ericbarnes/ci-minify),并且我想在我的项目中使用它.
它工作得很好,但很遗憾,我正在压缩如此多的CSS和JS文件,当页面加载时,如果我没有使用它会更快.
这是代码在我的控制器中的样子:
// minify css
$cssfiles = array('assets/css/normalize.css', 'assets/css/hook-new.css', 'assets/css/hook.css', 'assets/css/components.css', 'assets/css/rtl.css', 'assets/css/global.css', 'assets/css/body.css', 'assets/css/mediaqueries.css', 'assets/select2-3.4.3/select2.css', 'assets/jquery_bootstrap/css/custom-theme/jquery-ui-1.9.2.custom.css');
$cssfile = $this->minify->combine_files($cssfiles);
$csscontents = $this->minify->css->min($cssfile);
$this->minify->save_file($csscontents, 'assets/css/all.css');
// minify js
$jsfiles = array('assets/js/application/js_config.js', 'assets/js/bootstrap.min.js', 'assets/js/custom.js', 'assets/select2-3.4.3/select2.js', 'assets/js/startup.js', 'assets/ckeditor/ckeditor.js', 'assets/js/jquery.validationEngine-en.js', 'assets/js/jquery.validationEngine.js', 'assets/js/scripts.js', 'assets/js/application/js_timer.js');
$jsfile = $this->minify->combine_files($jsfiles);
$jscontents = $this->minify->js->min($jsfile);
$this->minify->save_file($jscontents, 'assets/js/all.js');
Run Code Online (Sandbox Code Playgroud)
所以我正在使用这些大量的CSS和JS文件,压缩它们,然后将它们保存到一个大文件中.但有没有更好,更有效的方法呢?
我知道我可以手工合并它们,但是当我处理事情时,我会有大量文件来筛选.不仅如此,我还喜欢Minify能够摆脱不必要的空白并真正压缩代码.
那么关于如何有效地实现这一目标的任何想法?
谢谢!
所以我正在尝试编写一个超级简单的脚本,允许用户在.closediv内部抛出任何链接或按钮,当.close单击该链接时,它会自动关闭父容器.
以下是我目前正在尝试使用的内容:JSFiddle
我目前正在尝试使用的代码是:
HTML
<div class="well notice bg-green">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<p>This is a notice that is green.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.well {
background: #f9f9f9;
border-color: #f1f1f1;
border-style: solid;
border-width: 1px;
padding: 15px 20px;
}
.notice {
margin: 15px 0;
padding: 0px 15px;
}
.well.bg-green {
background: #dff0d8;
border-color: #d6e9c6;
color: #468847;
}
.close {
color: #000;
filter: alpha(opacity=20);
float: right;
font-size: 21px;
font-weight: bold;
line-height: 1;
margin-top: 15px;
opacity: .2;
text-shadow: 0 1px …Run Code Online (Sandbox Code Playgroud) 当有人点击表格上的单选按钮(第二个单选按钮)时,我试图隐藏div,但是当点击第一个单选按钮时,div显示备份(切换).这是我的工作代码:http://jsfiddle.net/NKr7M/
如果您愿意,这是HTML:
<div class="grid howAnswer">
<div class="col-1">
<div class="button-left">
<img src="http://i.imgur.com/RVmh2rz.png" />
<input checked="checked" type="radio" id="id_delivery_0" value="chat" name="delivery" onclick="toggle(this)" />
</div><!-- .button-left -->
<div class="text-area top-text-area">
<label for="id_delivery_0">
AnswerChat By Appointment (Fastest)
</label>
</div><!-- .text-area -->
</div><!-- .col-1 -->
<div class="col-1">
<div class="button-left" style="margin-left: 15px;">
<img src="http://i.imgur.com/8J0SEVa.png" />
<input type="radio" id="id_delivery_2" value="email" name="delivery" onclick="toggle(this)" />
</div><!-- .button-left -->
<div class="text-area bottom-text-area">
<label for="id_delivery_2">
AnswerMail ASAP (Within 1-2 days)
</label>
</div><!-- .text-area -->
</div><!-- .col-1 -->
</div><!-- .grid …Run Code Online (Sandbox Code Playgroud) 所以我有一个项目有这样的路线:
的routes.rb
resources :projects do
resources :messages
resources :lists do
resources :tasks
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我想为我创建的每个任务添加时间跟踪,将我的路由转换为:
的routes.rb
resources :projects do
resources :messages
resources :lists do
resources :tasks do
resources :timetracks
end
end
end
Run Code Online (Sandbox Code Playgroud)
我想构建我的MVC的基础知识,然后进入必要的更改或编辑,但我如何支架,以便我的控制器和视图符合我的路由?或者甚至可能吗?
进一步详细说明,当我将其输入控制台时:
rails generate scaffold timetrack hours:float date:datetime description:string task:references
我得到了正常的脚手架文件,但所有路由的格式都是这样的:
http://localhost:3000/timetracks/
真的,我希望他们是:
http://localhost:3000/projects/1/lists/1/tasks/1/timetracks/
我知道你可以在控制器和视图中手动执行此操作,但是在执行我的脚手架时有什么办法可以生成这个吗?
在我的 Rails 项目中,我尝试使用以下 Gems 设置用户身份验证和用户角色:
我有设计并完美地工作,但是当我去设置 CanCan 和 Rolify 时,我在浏览器中收到此错误:
NameError in Home#index
Showing C:/Sites/JustManage/app/views/devise/menu/_registration_items.html.erb where line #1 raised:
undefined local variable or method `rolify' for #<Class:0x3f48660>
Extracted source (around line #1):
1: <% if user_signed_in? %>
2:
3: <li>
4: <%= link_to('Edit registration', edit_user_registration_path) %>
Trace of template inclusion: app/views/layouts/application.html.erb
Rails.root: C:/Sites/JustManage
Run Code Online (Sandbox Code Playgroud)
用户名
class User < ActiveRecord::Base
rolify
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable …Run Code Online (Sandbox Code Playgroud) javascript ×4
jquery ×3
css ×2
html ×2
ruby ×2
show-hide ×2
cancan ×1
cdn ×1
codeigniter ×1
devise ×1
local ×1
minify ×1
php ×1
rolify ×1
scaffolding ×1