强制在移动设备上显示桌面
Forcing desktop display on a mobile device
我正在使用 WaveMaker 6.7 开发一个应用程序,它可以像 iPhone 一样在桌面和移动设备上运行良好,而无需仅为移动设备创建特殊代码。我发现使用此版本的 WaveMaker,移动显示存在很多问题,例如:
- 滚动效果不佳
- 即使使用 px 中的宽度定义小部件,表单字段也会在屏幕宽度处被截断。
- 网格功能不全(缺少背景颜色且无法按列排序 header。
我花了很多时间尝试用 css 纠正这个问题,发现强制桌面版本覆盖 phone 的自动检测效果非常好。今天的移动浏览器功能齐全,不需要任何特殊的小部件。因此,通过传递以下参数,我能够覆盖对移动设备的检测并强制在 iPhone:
上使用桌面版本
wmmobile=desktop
http://xx.xx.xx.xx/WMappName/?wmmobile=desktop
这在我的 iPhone 上完美地显示了我的应用程序,它与我正在寻找的桌面版本完全相同。
我的问题是我可以通过编程方式获得桌面版本而不必传递 wmmobile=desktop
参数吗?到目前为止,这是我尝试过的:
dojo.declare("Main", wm.Page, {
if (wm.isMobile) {
alert('Device Detected: ' + wm.device);
wm.device='desktop';
}
}
部分,但我认为在这个过程中发生的太晚了。因为当我在没有 wmmobile
参数的情况下使用以下访问我的应用程序时,应用程序会出现 wm.device=phone
而不是 desktop
:
http://xx.xx.xx.xx/WMappName/
所以,我希望能够使用上述 URL 访问应用程序并强制 desktop
并覆盖 phone
。
有人知道如何在不通过 wmmobile=desktop
参数的情况下解决这个问题吗???
覆盖设置 wm.isMobile
标志和 wm.device
行为的正确位置是在 <Project Name>/webapps/boot.js
脚本中。您可以在您的项目中修改它,以编程方式按照您想要的方式设置这些项目。
当我阅读文件 boot.js(修订版 6.5.3)时,您应该添加这一行
wm.device = "desktop";
第 45 行 wm.isMobile 和 wm.device 初始化后
这将覆盖刚刚进行的所有平板电脑或移动设备设置。
我正在使用 WaveMaker 6.7 开发一个应用程序,它可以像 iPhone 一样在桌面和移动设备上运行良好,而无需仅为移动设备创建特殊代码。我发现使用此版本的 WaveMaker,移动显示存在很多问题,例如:
- 滚动效果不佳
- 即使使用 px 中的宽度定义小部件,表单字段也会在屏幕宽度处被截断。
- 网格功能不全(缺少背景颜色且无法按列排序 header。
我花了很多时间尝试用 css 纠正这个问题,发现强制桌面版本覆盖 phone 的自动检测效果非常好。今天的移动浏览器功能齐全,不需要任何特殊的小部件。因此,通过传递以下参数,我能够覆盖对移动设备的检测并强制在 iPhone:
上使用桌面版本wmmobile=desktop
http://xx.xx.xx.xx/WMappName/?wmmobile=desktop
这在我的 iPhone 上完美地显示了我的应用程序,它与我正在寻找的桌面版本完全相同。
我的问题是我可以通过编程方式获得桌面版本而不必传递 wmmobile=desktop
参数吗?到目前为止,这是我尝试过的:
dojo.declare("Main", wm.Page, {
if (wm.isMobile) {
alert('Device Detected: ' + wm.device);
wm.device='desktop';
}
}
部分,但我认为在这个过程中发生的太晚了。因为当我在没有 wmmobile
参数的情况下使用以下访问我的应用程序时,应用程序会出现 wm.device=phone
而不是 desktop
:
http://xx.xx.xx.xx/WMappName/
所以,我希望能够使用上述 URL 访问应用程序并强制 desktop
并覆盖 phone
。
有人知道如何在不通过 wmmobile=desktop
参数的情况下解决这个问题吗???
覆盖设置 wm.isMobile
标志和 wm.device
行为的正确位置是在 <Project Name>/webapps/boot.js
脚本中。您可以在您的项目中修改它,以编程方式按照您想要的方式设置这些项目。
当我阅读文件 boot.js(修订版 6.5.3)时,您应该添加这一行 wm.device = "desktop";
第 45 行 wm.isMobile 和 wm.device 初始化后 这将覆盖刚刚进行的所有平板电脑或移动设备设置。