微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript方向更改不适用于iPad上的PhoneGap

我正在将一本小型HTML / CSS / Javascript驱动的网络杂志改编为具有出色移动框架PhoneGap的iPad iApp.一切工作都很好,除了方向从纵向模式更改为横向模式.

我在index.html(肖像)的标头中使用以下Javascript代码:

  var isiPad = navigator.userAgent.match(/iPad/i) != null;
  var isiPhone = navigator.userAgent.match(/iPhone/i) != null;

  function updateOrientation() {
   if (isiPad || isiPhone) {
    switch (window.orientation) {
     case 90:
      window.location = "index_landscape.html";
      break;
     case -90:
      window.location = "index_landscape.html";
      break;
    }
   }
  }

具有以下正文标签:

<body onorientationchange="updateOrientation();">

如果将iPad旋转至横向模式,则不会更改为index-landscape.html.

有人知道问题出在哪里吗?
在PhoneGap框架内更改方向时,是否可以更改HTML文件?
换句话说,我只能在PhoneGap中使用一个HTML文件(index.html),而必须使用CSS进行方向更改吗?

如果我使用iPad Safari浏览器将该应用程序作为网站签出,则方向更改可以正常进行.

谢谢你的帮助!

解决方法:

我刚刚找到了解决该问题的另一种方法.我将body onl oad函数与phonegap.js中的onDeviceReady函数一起使用来检查方向:

以下javascript代码现在可以正常运行:

    function onl oad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    function onDeviceReady() {
        document.addEventListener("orientationChanged", updateOrientation);
    }

    function updateOrientation(e) {
        switch (e.orientation) {
            case 90:
                window.location = "index_landscape.html";
                break;
            case -90:
                window.location = "index_landscape.html";
                break;
        }
    }

更新:这在两年前与旧版本的Phonegap和iOS SDK一起使用时有效,但是据一些用户说,它不再起作用了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐