jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Rails 3为移动用户处理Javascript大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发我的网站的移动版本.我正在使用Ryan Bates’ Railscast episode to do the mobile detection中描述的技术.在一个坚果中,你必须编写一个控制器动作来检测这是否是一个移动浏览器,如果是,请将请求格式设置为“mobile”.因此,您可以使用名称格式“file.mobile.erb”和“file.html.erb”查看视图.

这非常有效.但我有一个远程脚本执行支持,因此我想让它提供Javascript的移动版本.

这是视图中的表单声明:

<%= form_for :humanity,:url=>{:action=>"human"},:remote=>true do |h| %>

在桌面版本上,它会正确调用控制器操作.在日志中:

Processing by CardsController#human as JS

但是当我从移动版本调用它时,日志不会将其作为JS来选择:

Processing by CardsController#human as */*

所以我首先要弄清楚如何让表单告诉控制器它想要Javascript.假设我可以这样做,那么我认为对@rbates代码的这种修改应该会锁定我(正如railscast帖子上的评论者所建议的那样).这是在prepare_for_mobile方法中的application_controller.rb中:

if mobile_device?
    if request.format == :js
        request.format = :mobilejs
    else
        request.format = :mobile
    end
end

所以我有一个“human.mobilejs.erb”文件准备开火,除非它不能直到控制器正确地承​​认它正在获得JS请求!

期待您的慷慨援助!

亚伦

解决方法

添加request.xhr?在application_controller.rb中的以下函数

def prepare_for_mobile
  session[:mobile_param] = params[:mobile] if params[:mobile]
  request.format = :mobile if mobile_device? && !request.xhr?
end

它将使用format.js响应.js请求

此外,正如genkilabs建议的那样,使用mobile_fu.太棒了.

大佬总结

以上是大佬教程为你收集整理的jquery – Rails 3为移动用户处理Javascript全部内容,希望文章能够帮你解决jquery – Rails 3为移动用户处理Javascript所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。