我在我的Rails应用程序中设置了这样的javascript导入:
<script>
WebFontConfig = {
google: {
families: [
'Open+Sans:300,400:latin'
]
}
};
</script>
<script src="//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js" />
<script src="http://maps.googleapis.com/maps/api/js?sensor=false" />
<%= javascript_include_tag 'application' %>
我的application.js.erb文件是:
//= require jquery
//= require jquery_ujs
//= require modernizr.custom.44325
//= require jquery-backstretch/jquery.backstretch
//= require infinite-scroll/jquery.infinitescroll
//= require global
当我运行应用程序时,我的字体加载但我在控制台中显示这些错误:
未捕获的ReferenceError:jQuery未定义jquery_ujs.js?body = 1:400未捕获的ReferenceError:jQuery未定义jquery.backstretch.js?body = 1:378未捕获的ReferenceError:jQuery未定义jquery.infinitescroll.js?body = 1:815未捕获的ReferenceError:$未定义
我尝试重新排序导入,并根据顺序发生以下几种情况之一:
-
字体加载但没有别的,jquery没有定义错误 .
-
页面半加载,使用javascript且没有字体 .
关于可能发生什么的任何想法?我之前没有这样的错误?
的Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.12'
gem 'pg'
gem "flickraw", "0.9.6"
gem 'kaminari', "0.15.0"
gem 'bourbon'
gem 'simple_form'
gem 'sendgrid'
gem 'rdiscount'
gem 'haml'
gem 'slim', '~> 1.3.9'
gem 'naturalsorter', '0.2.2'
gem 'friendly_id'
gem 'awesome_print'
gem 'httparty'
gem 'nokogiri'
gem 'unicorn'
gem 'capistrano'
gem 'mechanize'
group :assets do
gem 'jquery-rails', '2.2.1'
gem 'sass', github: 'nex3/sass'
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'susy', '2.0.0.beta.3'
gem 'compass-rails', '>= 1.1.3'
gem 'compass', '~> 1.0.0.alpha.17'
end
group :development do
gem 'better_errors'
gem 'binding_of_caller'
end
group :test do
gem 'turn', require: false
gem 'faker'
gem 'capybara'
gem 'database_cleaner'
gem 'launchy'
gem 'simplecov'
gem 'spork-rails'
gem 'guard-rspec'
gem 'guard-spork'
end
group :development, :test do
gem 'rspec-rails'
gem 'shoulda'
gem 'factory_girl_rails'
end
1 回答
解决了这个问题 . 它不喜欢自闭脚本标签 . 将它们更改为
<script>
和</script>
,现在它完美运行了 .