我正在使用 WaveMaker 6.7 开发一个应用程序,该应用程序将在桌面和移动设备(如 iPhone)上运行良好,而无需为移动设备创建特殊代码。我发现使用此版本的 WaveMaker,移动显示器存在许多问题,例如:
- 滚动效果不好
- 即使小部件是使用以 px 为单位的宽度定义的,表单字段也会在屏幕宽度处被截断。
- 网格功能不完整(缺少背景颜色并且无法按列标题排序。
我花了很多时间试图用 css 纠正这个问题,发现强制桌面版本覆盖手机的自动检测效果很好。今天的移动浏览器功能齐全,并不需要任何特殊的小部件。因此,通过传递以下参数,我能够覆盖对移动设备的检测并在 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
and override phone
。
任何人都知道如何在不通过参数的情况下解决这个问题wmmobile=desktop
???