这行代码究竟在哪里用于Rails应用程序?哪个文件,还有其他周围的语法?有没有人有一个如何禁用jQuery加载消息的完整示例?我已经阅读了文档,但我认为只有一些非常基本的东西我没有在文档中明确说明。
由于
的application.js
//= require jquery
//= require jquery_ujs
//= require jquery.mobile
application.mobile.js
//= require jquery.mobile
application.css
*= require_self
*= require jquery.mobile
*= require scaffolds.css
application.mobile.css
*= require_self
*= require jquery.mobile
的Gemfile
source 'http://rubygems.org'
gem 'rails', '3.2.2'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'pg'
gem 'thin'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier'
end
gem 'jquery-rails'
gem 'mobylette'
gem 'jquery_mobile_rails'
group :test, :development do
gem 'rspec'
gem 'rspec-rails'
gem 'sqlite3'
end
application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Mobile Version!</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<%= javascript_include_tag "application" %>
<script type='text/javascript'>
$.mobile.hidePageLoadingMsg();
</script>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application.mobile.js" %>
<%= stylesheet_link_tag "application.mobile.css" %>
<%= csrf_meta_tags %>
</head>
<body>
<div data-role="page">
<%= yield %>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li>
<%= link_to notes_path, :class => ("ui-btn-active" if action_name == 'index'), :"data-icon" => "home", :"data-iconpos" => "top" do %>
Home
<% end %>
</li>
<li>
<%= link_to new_note_path, :class => ("ui-btn-active" if action_name == 'new'), :"data-icon" => "plus", :"data-iconpos" => "top" do %>
New Note
<% end %>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
我认为你可能会误解$.mobile.hidePageLoadingMsg();
方法。我当然可以理解这种混乱。在JQM中,您可以使用$.mobile.showPageLoadingMsg();
以编程方式显示加载消息,然后使用$.mobile.hidePageLoadingMsg();
隐藏消息。您可以在自己的某些内容中使用它。
要禁用加载消息,您可以在此处使用我的示例。
<script src="//code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script>
<script>
$(document).bind("mobileinit", function(){
$.mobile.loadingMessage = false;
});
</script>
<script src="//code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
移动初始化绑定用于配置JQM的默认值。它必须放在jQuery和JQM引用之间才能正常工作。您可以找到更多默认设置here。
答案 1 :(得分:0)
要在所有页面上随处运行,可能最好的选择是app / views / layouts / application.html.erb。这假设您使用的是应用程序范围的布局。如果你刚刚使用3.X创建了一个新的rails应用程序,那就是你要做的。
让它工作的最简单方法就是将其粘贴在布局的头部,(暂时忽略资产管道)。
听起来(我不确定)这是一个jquery,你不想在运行代码之前等待DOM加载。因此,我会在rails app生成器放置在布局中的默认javascript_include_tag之后放入一个脚本标记:
<%= javascript_include_tag "application" %>
<script type='text/javascript>
$.mobile.hidePageLoadingMsg();
</script>
如果仍然没有做到这一点,你必须深入研究app / assets / javascripts / application.js清单,然后在加载jquery的那一行之后输入一个新行,该行将调用包含该一行代码的javascript文件。
答案 2 :(得分:0)
好的,基本上,这里的故事的道德是jQuery Mobile的DONT用户Gems。说他们不工作将是轻描淡写...他们完成了95%的工作,但随后他们呕吐得如此惊人,以至于认为你试图首先使用它们几乎是滑稽的。这些宝石似乎(1)具有与Rails和/或jQuery Mobile远程相关的字面意义更新的天生爆炸能力,(2)被他们的github所有者突然和莫名其妙地删除,(3)抛出非常罕见的自动化错误,以及(4)所有这些都包含了比使用jQuery Mobile热链接时更多行(对破坏而言非常敏感)的代码所带来的巨大好处。
为自己节省大量的麻烦,只需使用热门链接。如果没有,你将赢得一个由zQuery Mobile Gems,Inc赞助的suckville全额付费假期(顺便提一下,它的最新版本几乎保证过时且完全没用)。
application.html.erb
<title>Hello</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>