// ==UserScript== // @name Yandex视频横屏插件 // @name:en Yandex Video Player Horizontal Screen Plug-in // @description 移动端Yandex浏览器看视频全屏时强制为横屏观看(安卓已经过测试运行,ios并未测试) // @description:en Yandex browser is set to play horizontally when viewing full-screen video. This is for Android, and IOS is not tested. // @version 1.1.0 // @author Xavier // @namespace https://greasyfork.org/zh-CN/users/128493 // @match *://*/* // @grant none // @run-at document-end // @note 更新日志:1.添加竖屏模式。有些视频更适宜在竖屏状态下观看,全屏状态下,手机竖直摆放时会重新回到竖屏模式。2.添加双击全屏功能。一些网站全屏按钮无法使视频进入全屏模式(例如m.bilibili.com),新增在视频播放状态下,双击全屏(支持双击退出全屏)。该功能需要关闭yandex浏览器的"忽略网站的禁止字体缩放请求"功能,不关闭双击会缩放网页。 // @downloadURL none // ==/UserScript== (function() { 'use strict'; var oriHway="landscape-primary"; var oriHtemp="",oriHgamma=0,oriHbeta=0; function orientationHandler(event) { oriHgamma=Math.round(event.gamma); oriHbeta=Math.abs(Math.round(event.beta)); if(event.beta>60 && event.beta<120){ oriHtemp="portrait-primary"; }else if((oriHbeta<35 && Math.abs(oriHgamma)>25) || (oriHbeta>145 && Math.abs(oriHgamma)>25)){ oriHtemp=((oriHgamma>25 && oriHbeta<35) || (oriHgamma<-25 && oriHbeta>145)) ? "landscape-secondary" : "landscape-primary"; } if(oriHway!=oriHtemp){ oriHway=oriHtemp; screen.orientation.lock(oriHway); } } document.addEventListener('webkitfullscreenchange', function(){ try{ if(document.webkitFullscreenElement){ screen.orientation.lock(oriHway); window.addEventListener("deviceorientation", orientationHandler, false); }else{ window.removeEventListener("deviceorientation", orientationHandler, false); } } catch (e) { alert(e.message); } },false); var videoEle=document.getElementsByTagName("video"); var videoplay=null,vClick=0; document.body.onclick=function() { if(videoEle.length>0){ for(var vi=0;vi