2

モバイルサイトにJQueryMobileを使用しており、Railscast#199mobile_device?の方法を使用して、 JQueryMobileと通常のフルPCサイトを切り替えています。

application_controller.rb

before_filter :prepare_for_mobile

def mobile_device?
  if session[:mobile_param]
    session[:mobile_param] == "1"
  else
    request.user_agent =~ /Mobile/
  end
end
helper_method :mobile_device?

def prepare_for_mobile
  session[:mobile_param] = params[:mobile] if params[:mobile]
  if mobile_device?
    if request.format == :js
      request.format = :mobilejs
    else
      request.format = :mobile
    end
  end
end

この方法では、JQueryモバイルサイトからPCサイトに切り替えることができます。

<%= link_to "PC Site", :mobile => 0 %>

ただし、PCサイトのスタイルシートは読み込まれません。したがって、CSSを有効にするには、ページをもう一度リロードする必要があります。

最初の試行でCSSをロードするにはどうすればよいですか?

編集:

私のスタイルシートはとに別々に追加されapplication.html.erbますapplication.mobile.erb

application.html.erb

<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>

application.mobile.erb

<%= stylesheet_link_tag "mobile" %>
<%= javascript_include_tag "mobile" %> # this is where my jquery mobile js file is
4

1 に答える 1

0

問題は、jquery Mobile がデフォルトで AJAX になっていることでした。そのため、次のように無効にするだけで済みました。

<%= link_to "PC Site", :mobile => 0, "data-ajax" => "false" %>
于 2013-02-17T00:31:16.940 に答える