js监听屏幕方向如何第一次默认不监听

this.supportOrientation = typeof window.orientation === ‘number‘; 

//  检查屏幕方向
    checkScreenOrientation() {
        if (this.supportOrientation) {
            if (window.orientation === 0) {
                this.screenOrientation = ‘portrait‘;
            }
            if (window.orientation === 90 || window.orientation === -90) {
                this.screenOrientation = ‘landscape‘;
            }
        } else {
            this.screenOrientation = (window.innerWidth > window.innerHeight) ? ‘landscape‘ : ‘portrait‘;
        }
       // if (this.orientationFlag) { //  在为true的时候交换屏幕长宽
            let temp = this.bodyWidth;
       //     this.bodyWidth = this.bodyHeight;
        //    this.bodyHeight = temp;
        // } else {
         //   this.orientationFlag = true;
        // }
i     f(this.orientationFlag){
         imageMof();//重新设置图片高度
      }else {
         this.orientationFlag = true;
      }
}

大家有时候有需求在屏幕方向改变的时候重新执行某个渲染函数,以获取方向改变后的实际宽高,但是首次加载的执行函数要在其他地方执行,这时候可以加一个flag的状态值,默认为false,当第一次检测到方向改变的时候再改为true。

这里有一篇比较好的相关文章推荐:https://div.io/topic/1828

北京广州大量内推岗位来袭

我公司正在招聘职位:

公司福利:15-16新,三餐+下午茶……………………

公司主要后端语言:go,python

公司主要行业:移动广告

北京:

资深后端开发,产品总监,投放经理,资深前端、前端架构师,资深算法,服务端测试,产品经理,ios技术支持工程师,云计算售前工程师,高级大数据开发,安卓高级开发,海外广告推广(增长高级优化师),高级unity开发,商务专员(日语/韩语),组织发展OD。

广州:

有视频创意师,高级优化师,HRBP,高级HRBP,产品总监,财务项目管理,游戏投资经理,程序化投放,高级前端,高级客户端发展,高级平面设计,短视频导演,高级测试,高级算法,资深算法,算法专家。

有意向的私信我即可~~

原文地址:https://www.cnblogs.com/beileixinqing/p/11734766.html

时间: 2024-10-06 10:37:07

js监听屏幕方向如何第一次默认不监听的相关文章

全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件

在做一个程序的时候,需要时刻保持某一服务是启动的,因此想到了通过监听屏幕SCREEN_ON和SCREEN_OFF这两个action.奇怪的是,这两个action只能通过代码的形式注册,才能被监听到,使用AndroidManifest.xml 完全监听不到.查了一下,发现这是PowerManager那边在发这个广播的时候,做了限制,限制只能有register到代码中的receiver才能接收. view plain private void registerScreenActionReceiver

Android监听屏幕解锁和判断屏幕状态

开发后台服务的时候经常需要对屏幕状态进行判断,如果是想要监听屏幕解锁事件,可以在配置里面注册action为 android.intent.action.USER_PRESENT的广播,则可以监听解锁事件.但有时候,在后台执行某个操作时,需要主动判断屏幕的状态,比如是否是亮着的,可以使用PowerManager的isScreenOn方法进行判断,比如屏幕是否开启了自动旋转等. 注册监听解锁广播: 1 2 3 4 5 <receiver android:name="com.home.tests

监听屏幕点亮和关闭状态

监听屏幕的状态就需要广播,我们还必须要动态注册广播才能实现监听屏幕亮暗(静态注册无效).我这里是在service做的处理,没啥技术难度,直接上代码. package com.kale.camerademo; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import androi

android监听屏幕打开关闭广播无响应的情况

android在屏幕打开和关闭的时候会发出广播,但是如果receiver配置在AndroidManifest.xml中时,receiver是接受不到任何广播的. <receiver android:name="cn.abcd.listener.ScreenStateReceiver" > <intent-filter> <action android:name="android.intent.action.SCREEN_OFF" /&g

Android 强制获取屏幕方向

最近在做照相机功能,简单的封装系统相机,遇到一个问题就是无法获取屏幕的当前方向导致屏幕旋转之后无法获得正确的方向,所以照片方向不对. 在网上查了一下都是通过windowManager的Display或Configuration的getOrientation方法获取当前屏幕方向.但是问题来了,两种方法要求Activity不能固定方向,且需要系统打开自动旋转才能获取正确的值,否则会返回一个固定值. 搜来搜去也就只有这两种答案,我考虑只能用监听方向传感器来实现了,但是android orientati

Windows Phone开发(6):处理屏幕方向的改变

俺们都知道,智能手机可以通过旋转手机来改变屏幕的显示方向,更多的时候,对于屏幕方向的改变,我们要做出相应的处理,例如,当手机屏幕方向从纵向变为横向时,可能要重新排列页面上的控件以适应显示区域的变化. 前面我们讨论过,Silverlight for Windows Phone的页面布局有三个常用的布局控件,那么,当屏幕方向改变后,我们所做的对布局的更改基础上是基于这几个容器进行的操作. 本文我将通过三个示例来分别说明. 开始之前,先说一下PhoneApplicationPage类的Orientat

Android自适应屏幕方向、大小和分辨率,及字体设置

屏幕大小 1.不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在 res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会 写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用. 2.hdpi.mdpi.ldpi 之前的版本中,只有一个drawable,而2.1版本中有dra

iOS_关于手机支持的屏幕方向

设置支持的屏幕方向有两个级别,一个是app级别的,另一个是viewController级别的. app 级别的可以在[target]-[general]-[device orientation]里面设置,如下图: 默认情况下Upside Down没有勾选,其他都勾选了. (为什么Upside Down不推荐勾选呢,因为iPhone的电话app是不支持Upside Down的,如果你的app支持Upside Down,万一用户在用你的app的时候Upside Down了,这时候来了电话,就会看到整

【Xamarin挖墙脚系列:IOS-关于手机支持的屏幕方向】

设置支持的屏幕方向有两个级别,一个是app级别的,另一个是viewController级别的. app 级别的可以在[target]-[general]-[device orientation]里面设置, 默认情况下Upside Down没有勾选,其他都勾选了. (为什么Upside Down不推荐勾选呢,因为iPhone的电话app是不支持Upside Down的,如果你的app支持Upside Down,万一用户在用你的app的时候Upside Down了,这时候来了电话,就会看到整个来电的