javascript - 在使用 phonegap 触发事件之前检测方向变化

标签 javascript android jquery ios cordova

我正在使用 PhoneGap 开发适用于 Android、iOS 和 Windows Phone 的应用程序。 我有一个带有图表的页面,如果用户横向旋转设备,我想全屏显示它。

问题是整个应用程序必须在纵向方向上被阻止,因此横向必须仅在此图形页面上可用。

我有两种可能性:


1) 在整个应用程序中授权纵向/横向方向。 如果用户在图形之外的任何其他页面上,并且如果他将设备置于横向,则取消旋转并保持纵向模式。

我想我必须有办法在这些事件之前捕捉事件:

window.addEventListener("orientationchange", orientationChange, false);
window.addEventListener("resize", resize, false);

2) 阻止整个纵向应用程序。 如果用户在图表页面上,添加一个按钮,允许横向旋转此页面以显示图表,然后返回纵向模式。

我找到了这个但只对 Android 有用:set screen orientation


那么,有没有一种方法可以实现其中一种可能性?

谢谢

最佳答案

window
    .matchMedia('(orientation: portrait)')
    .addListener(function (m) {
        console.log('a');
    });

window.addEventListener('resize', function () {
    console.log('b');
});

window.addEventListener('orientationchange', function () {
    console.log('c');
});

// https://github.com/gajus/orientationchangeend
viewport.on('orientationchangeend', function () {
    console.log('c');
});

这些事件将按字母顺序触发。

关于javascript - 在使用 phonegap 触发事件之前检测方向变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430763/

相关文章:

java - 滑动时的 Android ViewPager Bug

Android 支持库规范

javascript - SignalR 获取集线器之外的客户端不起作用

javascript - jQuery 问题 : Does using . remove() 也正确删除子项?

javascript - 为什么在与左上角和左下角的可拖动同时应用时可调整大小会给我带来不需要的行为

javascript - 通过删除不需要的查询参数同时保留其他参数来返回干净 URL 的最佳方法是什么?

javascript - ColdFusion - 如何访问 jQuery 中的 CFC 返回变量?

android - 如何使用 Kotlin 在 android 中的 BottomNavigationView 上设置 OnNavigationItemListener?

javascript - 如何通过单击按钮来 document.write( )

javascript - 使用 JavaScript 读取本地 JSON 文件(无网络服务器)