我的应用程序有两个不同的用户界面,一个在PC上由标准浏览器调用时调用,另一个在移动设备调用时调用。 所以在我的资产目录中我有
assets
javascripts
application.js
mobile
application.js
stylesheets
application.css
mobile
application.css
mobileapp.css
....
....
views
layouts
application.html.erb
application.mobile.erb
清单文件是:
Javascript角/ application.js中
//= require jquery
//= require jquery_ujs
//= require_directory .
Javascript角/移动/ application.js中
//= require jquery.mobile
//= require_directory .
样式表/ application.css
*= require_self
*= require_directory .
*/
样式表/移动/ application.css
*= require jquery.mobile
*= require_directory .
*/
一切正常,但...... 当我使用移动设备调用应用程序时,当我进入生产模式(Apache / Passenger)时,我看到使用了移动应用程序布局,但未使用mobile / mobileapp.css中包含的syles。
我无法在移动设备上调试(没有firebug或谷歌浏览器开发人员工具)。 有没有办法知道乘客为移动设备提供的服务?我知道,我总是可以使用wireshark来嗅探网络数据包,但如果它存在一些更高级别的工具,我将不胜感激。
修改
也许现在我已经弄明白是什么导致了这个问题。 我知道jquery mobile在加载DOM之后就会“神奇”。 当应用程序由乘客(在预编译资产之后)提供给移动设备时, 提供了正确的页面和正确的应用程序布局,但Jquery mobile没有在DOM加载时初始化其所有元素,因此我的页面仍处于“混合”状态。
有这种问题的人解决了吗?
答案 0 :(得分:0)
嗯,这不是我第一次提问,然后我也发了一个答案,还没有收到任何答案......
要捕获我将在移动设备上收到的页面的HTML代码而不使用Firebug移动平台等工具,我只需从命令行启动以下内容:
curl -A android http://www.mysite.com/mypage
我使用cURL的功能发送http请求,我控制正在发送的用户代理。 不像Firebug,但现在我知道哪个HTML实际上是发送到移动设备。