Greasy Fork is available in English.
移动端Yandex浏览器看视频全屏时强制为横屏观看(安卓已经过测试运行,ios并未测试)
当前为
// ==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 http://greasyfork.icu/zh-CN/users/128493
// @match *://*/*
// @grant none
// @run-at document-end
// @note 更新日志:1.添加竖屏模式。有些视频更适宜在竖屏状态下观看,全屏状态下,手机竖直摆放时会重新回到竖屏模式。2.添加双击全屏功能。一些网站全屏按钮无法使视频进入全屏模式(例如m.bilibili.com),新增在视频播放状态下,双击全屏(支持双击退出全屏)。该功能需要关闭yandex浏览器的"忽略网站的禁止字体缩放请求"功能,不关闭双击会缩放网页。
// ==/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<videoEle.length;vi++){
videoEle[vi].addEventListener("play",function(){
videoplay=this;
},false);
}
document.body.removeEventListener("click",function(){}, false);
}else{
if(vClick<3){vClick++;}
else{
document.body.removeEventListener("click",function(){}, false);
document.body.removeEventListener("dblclick",function(){}, false);
}
}
}
document.body.ondblclick=function(){
if(videoplay!=null){
if(document.webkitFullscreenElement){
videoplay.webkitExitFullscreen();
}else{
videoplay.webkitRequestFullScreen();
}
}
}
})();