我正在使用WaveMaker 6.7开发一款适用于桌面和iPhone等移动设备的应用,而无需为移动设备创建特殊代码。我发现在这个版本的WaveMaker中,移动显示有很多问题,如:
我花了很多时间尝试用css纠正这个问题,并发现迫使桌面版本覆盖自动检测手机的工作非常完美。今天的移动浏览器功能齐全,并不需要任何特殊的小部件。因此,通过传递以下parm,我能够覆盖移动设备的检测并强制iPhone上的桌面版本:
wmmobile=desktop
http://xx.xx.xx.xx/WMappName/?wmmobile=desktop
这完全在我的iPhone上显示了我的应用程序,它与我正在寻找的桌面版本完全相同。
我的问题是我是否可以通过编程方式获取桌面版本,而无需通过wmmobile=desktop
parm?这是我到目前为止所尝试的:
dojo.declare("Main", wm.Page, {
if (wm.isMobile) {
alert('Device Detected: ' + wm.device);
wm.device='desktop';
}
}
部分,但我认为这个过程发生得太晚了。因为当我在没有wmmobile
parm的情况下使用以下内容访问我的应用时,应用程序会出现wm.device=phone
而不是desktop
:
http://xx.xx.xx.xx/WMappName/
因此,我希望能够使用上述网址访问该应用并强制desktop
并覆盖phone
。
任何人都知道如何绕过这个问题而不必通过wmmobile=desktop
parm ???
答案 0 :(得分:0)
覆盖设置wm.isMobile
标记和wm.device
的行为的正确位置在<Project Name>/webapps/boot.js
脚本中。您可以在项目中对此进行修改,以便以您希望的方式以编程方式设置这些项目。
答案 1 :(得分:0)
当我读取文件boot.js(rev 6.5.3)时,你应该添加这一行 wm.device =“desktop”;
在wm.isMobile和wm.device初始化之后的第45行这将覆盖刚刚制作的所有平板电脑或移动设置。