您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
牙刷科技! 让所有视频播放器网页全屏!默认快捷键ALT+1
当前为
- // ==UserScript==
- // @name Video Player Toothbrush
- // @namespace http://www.icycat.com
- // @description 牙刷科技! 让所有视频播放器网页全屏!默认快捷键ALT+1
- // @include *www.bilibili.com/video/av*
- // @include *www.iqiyi.com/*
- // @include *v.youku.com/*
- // @include *v.17173.com/*
- // @include *www.tudou.com/*
- // @include *.letv.com/*
- // @include *v.pptv.com/*
- // @include *tv.sohu.com/*
- // @include *v.ku6.com/*
- // @include *vod.kankan.com/*
- // @include *v.qq.com/*
- // @include *www.56.com/*
- // @include *live.yy.com/*
- // @include *www.acfun.com/v/ac*
- // @version 1.3
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- //若有需要可以自行添加域名,按照include的格式添加即可。
- //自行修改快捷键请参考81行注释。注意焦点在flash上时快捷键会失效。
- var i, divArray, player = null, status = false, backStyle = new Array(), playerStyle, first = true;
- document.addEventListener('DOMContentLoaded', init, false);
- function init() {
- if (!checkPlayer()) {
- console.log('延迟2秒重新检测');
- var t = setTimeout(function() {
- checkPlayer();
- }, 2000);
- }
- }
- function checkPlayer() {
- var embedArray = document.getElementsByTagName('embed');
- console.log('embed数量' + embedArray.length);
- if (embedArray.length > 0) {
- for (i = 0; i < embedArray.length; i++) {
- console.log('embed播放器检测' + i);
- if (embedArray[i].getAttribute('allowfullscreen') && embedArray[i].offsetWidth > 500) {
- player = embedArray[i];
- console.log('找到embed播放器');
- break;
- }
- }
- }
- if (!player) {
- console.log('未找到embed播放器');
- var objectArray = document.getElementsByTagName('object');
- if (objectArray.length > 0) {
- console.log('object数量' + objectArray.length);
- objectloop: for (i = 0; i < objectArray.length; i++) {
- console.log('object播放器检测' + i);
- if (objectArray[i].offsetWidth > 500) {
- var paramArray = objectArray[i].getElementsByTagName('param');
- var j;
- for (j = 0; j < paramArray.length; j++) {
- if (paramArray[j].name.toLowerCase() == 'allowfullscreen') {
- player = objectArray[i];
- console.log('找到object播放器');
- break objectloop;
- }
- }
- }
- }
- }
- }
- if (!player) {
- console.log('未找到object播放器');
- return false;
- } else {
- console.log('创建按钮&生成快捷键');
- createButton();
- window.addEventListener("keydown", function(e) {
- // 默认快捷键为alt + 1, 全屏/恢复。altkey是按键ALT,keyCode=49是按键1,需要修改为其他快捷键的请搜索"keycode",修改为按键对应的数字。
- if (e.altKey && e.keyCode == 49) {
- playerControl();
- }
- }, false);
- return true;
- }
- }
- function createButton() {
- var button = document.createElement('span');
- button.id = 'fullStackButton';
- button.style = 'position:fixed;width:1px;height:100%;top:0;left:0;z-index:33333;';
- button.onclick = function() {
- playerControl();
- };
- document.body.appendChild(button);
- }
- function playerControl() {
- if (!status) {
- status = true;
- fullWin();
- } else {
- status = false;
- smallWin();
- }
- }
- function fullWin() {
- if (first) {
- first = false;
- var full = player;
- do {
- if (full.getAttribute) {
- full.setAttribute('full_stack', true);
- }
- } while (full = full.parentNode);
- divArray = document.getElementsByTagName('div');
- playerStyle = {
- width: player.style.width,
- height: player.style.height,
- position: player.style.position,
- margin: player.style.margin,
- padding: player.style.padding,
- left: player.style.left,
- zIndex: player.parentNode.style.zIndex
- };
- console.log(playerStyle);
- }
- for (i = 0; i < divArray.length; i++) {
- if (divArray[i].getAttribute) {
- if (divArray[i].getAttribute('full_stack')) {
- backStyle[i] = {
- width: divArray[i].style.width,
- height: divArray[i].style.height,
- position: divArray[i].style.position,
- margin: divArray[i].style.margin,
- padding: divArray[i].style.padding,
- background: divArray[i].style.background
- };
- divArray[i].style.width = '100%';
- divArray[i].style.height = '100%';
- divArray[i].style.position = 'fixed';
- divArray[i].style.margin = '0 0';
- divArray[i].style.padding = '0 0';
- divArray[i].style.background = '#000';
- } else {
- backStyle[i] = divArray[i].style.display;
- divArray[i].style.display = 'none';
- }
- }
- }
- player.style.width = '100%';
- player.style.height = '100%';
- player.style.position = 'fixed';
- player.style.margin = '0 0';
- player.style.padding = '0 0 0 1px';
- player.style.left = '0';
- player.parentNode.style.zIndex = '22222';
- console.log('网页全屏完成');
- }
- function smallWin() {
- for (i = 0; i < divArray.length; i++) {
- if (divArray[i].getAttribute) {
- if (divArray[i].getAttribute('full_stack')) {
- divArray[i].style.width = backStyle[i].width;
- divArray[i].style.height = backStyle[i].height;
- divArray[i].style.position = backStyle[i].position;
- divArray[i].style.margin = backStyle[i].margin;
- divArray[i].style.padding = backStyle[i].padding;
- divArray[i].style.background = backStyle[i].background;
- } else {
- divArray[i].style.display = backStyle[i];
- }
- }
- }
- player.style.width = playerStyle.width;
- player.style.height = playerStyle.height;
- player.style.position = playerStyle.position;
- player.style.margin = playerStyle.margin;
- player.style.padding = playerStyle.padding;
- player.style.left = playerStyle.left;
- player.parentNode.style.zIndex = playerStyle.zIndex;
- console.log('恢复完成');
- }