0

我的应用程序有两种不同的用户界面,一种是在 PC 上的标准浏览器调用时调用,另一种是在移动设备调用时调用。所以在我的资产目录中,我有

assets
  javascripts
    application.js
    mobile
      application.js
  stylesheets
    application.css
    mobile
      application.css
      mobileapp.css

....
....

views
  layouts
    application.html.erb
    application.mobile.erb

清单文件是:

javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require_directory .

javascripts/mobile/application.js

//= require jquery.mobile
//= require_directory .

样式表/application.css

*= require_self
*= require_directory .
*/

样式表/mobile/application.css

*= require jquery.mobile
*= require_directory .
*/

在开发中一切正常,但是......当我使用移动设备调用应用程序时进入生产模式(Apache/Passenger),我看到使用了移动应用程序布局,但移动/移动应用程序中包含样式。不使用 css。

我无法在移动设备上进行调试(没有 firebug 或 google chrome 开发者工具)。有什么方法可以知道乘客正在为移动设备提供什么服务?我知道,我总是可以使用wireshark 来嗅探网络数据包,但如果它存在一些更高级别的工具,我将不胜感激..

编辑

也许现在我已经弄清楚是什么导致了这个问题。我知道 jquery mobile 会在 DOM 加载后执行它的“魔法”。当乘客(在预编译资产之后)将应用程序提供给移动设备时,会提供正确的页面和正确的应用程序布局,但 Jquery mobile 不会在 DOM 加载时初始化其所有元素,因此我的页面仍处于“混合”状态状态。

有谁遇到过这种问题并解决了?

4

1 回答 1

0

好吧,这不是我第一次提出问题,然后我也发布了答案,还没有收到任何答案......

要捕获我将在移动设备上收到的页面的 HTML 代码,而无需使用 Firebug 等移动平台工具,我只需从命令行启动以下命令:

curl -A android http://www.mysite.com/mypage

我使用 cURL 的功能来发送一个 http 请求,我控制正在发送的用户代理。不像拥有 Firebug,但现在我知道哪个 HTML 实际发送到了移动设备。

于 2013-02-13T17:09:20.053 回答