簡體   English   中英

強制在移動設備上顯示桌面

[英]Forcing desktop display on a mobile device

我正在使用WaveMaker 6.7開發一款可以在台式機和移動設備(如iPhone)上正常運行的應用程序,而不必為移動設備創建特殊代碼。 我發現,使用此版本的WaveMaker,移動顯示器存在許多問題,例如:

  • 滾動效果不佳
  • 即使使用px中的寬度定義了小部件,表單字段也會在屏幕寬度處被截斷。
  • 網格功能不完全(缺少背景色,無法按列標題排序。

我花了很多時間嘗試使用css糾正此問題,發現強迫桌面版本覆蓋電話的自動檢測效果很好。 當今的移動瀏覽器具有完整的功能,並且實際上不需要任何特殊的小部件。 因此,通過傳遞以下參數,我可以覆蓋對移動設備的檢測,並在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/

因此,我希望能夠使用上述URL訪問該應用程序,並強制desktop和覆蓋phone

任何人都有一個解決方法,而不必通過wmmobile=desktop parm?

覆蓋設置wm.isMobile標志和wm.device的行為的正確位置在<Project Name>/webapps/boot.js腳本中。 您可以在項目中進行修改,以編程方式設置所需的項目。

當我閱讀文件boot.js(6.5.3版)時,您應該添加以下行wm.device =“ desktop”;

在初始化wm.isMobile和wm.device之后的第45行上。這將覆蓋所有剛剛進行的平板電腦或移動設備設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM