【发布时间】:2018-01-12 22:07:31
【问题描述】:
我正在使用 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 并覆盖 phone。
任何人都知道如何绕过这个问题而不必通过wmmobile=desktop 参数???
【问题讨论】:
标签: javascript iphone mobile wavemaker