您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
让所有视频网页全屏
当前为
- // ==UserScript==
- // @name Video Full Screen In Tab
- // @namespace http://www.icycat.com
- // @description 让所有视频网页全屏
- // @author 冻猫
- // @include *
- // @version 1.5
- // @grant none
- // @run-at document-end
- // ==/UserScript==
- (function() {
- var btnDelay = null,
- isOver = false,
- fullStatus = false,
- parentArray = new Array(),
- backStyle = new Array(),
- player, playerStyle,controlBtn,leftBtn,rightBtn;
- createButton();
- createFullButton();
- console.log('Video Full Screen In Tab 初始化');
- document.addEventListener('mouseover', function(e) {
- if (fullStatus) {
- return;
- }
- var target = e.target;
- var nodeName = target.nodeName;
- switch (nodeName) {
- case 'OBJECT':
- case 'EMBED':
- if (target.type == 'application/x-shockwave-flash' && target.offsetWidth > 299 && target.offsetHeight > 199) {
- player = target;
- showButton();
- }
- break;
- case 'IFRAME':
- case 'VIDEO':
- if (target.offsetWidth > 299 && target.offsetHeight > 199) {
- player = target;
- showButton();
- }
- break;
- default:
- if (isOver) return;
- if (controlBtn.style.display == 'inline') {
- if (btnDelay) clearTimeout(btnDelay);
- btnDelay = setTimeout(function() {
- controlBtn.style.display = 'none';
- }, 1000);
- }
- return;
- }
- });
- function createButton() {
- addStyle('#playerControlBtn {display:none;cursor: pointer;font: 12px "微软雅黑";padding: 2px 2px 3px 2px;margin:0;width:60px;text-align: center;transition: all 0.6s ease-out;position: absolute;z-index:2147483646;background-color: #27A9D8;color:#FFF;opacity:0.5;} #playerControlBtn:hover{opacity:1;}');
- var btn = document.createElement('div');
- btn.id = 'playerControlBtn';
- btn.onclick = function() {
- playerControl();
- };
- btn.onmouseover = function() {
- isOver = true;
- if (btnDelay) clearTimeout(btnDelay);
- };
- btn.onmouseout = function() {
- isOver = false;
- if (btnDelay) clearTimeout(btnDelay);
- btnDelay = setTimeout(function() {
- controlBtn.style.display = 'none';
- }, 1000);
- }
- btn.appendChild(document.createTextNode('网页全屏'));
- document.body.appendChild(btn);
- controlBtn = document.getElementById('playerControlBtn');
- }
- function createFullButton() {
- var leftButton = document.createElement('span');
- leftButton.id = 'leftFullStackButton';
- leftButton.onclick = function() {
- playerControl();
- };
- document.body.appendChild(leftButton);
- addStyle('#leftFullStackButton{display:none;position:fixed;width:1px;height:100%;top:0;left:0;z-index:2147483646;}');
- var rightButton = document.createElement('span');
- rightButton.id = 'rightFullStackButton';
- rightButton.onclick = function() {
- playerControl();
- };
- document.body.appendChild(rightButton);
- addStyle('#rightFullStackButton{display:none;position:fixed;width:1px;height:100%;top:0;right:0;z-index:2147483646;}');
- leftBtn = document.getElementById('leftFullStackButton');
- rightBtn = document.getElementById('rightFullStackButton');
- }
- function showButton() {
- if (btnDelay) clearTimeout(btnDelay);
- var rect = player.getBoundingClientRect();
- var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
- var top = rect.top + scrollTop;
- var left = rect.left;
- controlBtn.style.display = 'inline';
- controlBtn.style.top = (top - 21) + 'px';
- controlBtn.style.left = (left + player.offsetWidth - 64) + 'px';
- }
- function addStyle(css) {
- var style = document.createElement('style');
- style.type = 'text/css';
- var node = document.createTextNode(css);
- style.appendChild(node);
- document.head.appendChild(style);
- }
- function playerControl() {
- checkPlayer();
- if (!fullStatus) {
- fullWin();
- } else {
- smallWin();
- }
- }
- function checkPlayer() {
- parentArray = [];
- var full = player;
- while (full = full.parentNode) {
- if (full.getAttribute && full.nodeName != 'OBJECT') {
- parentArray.push(full);
- }
- if (full.nodeName == 'HTML') {
- break;
- }
- }
- }
- function fullWin() {
- if (!fullStatus) {
- window.addEventListener('resize', fullWin, false);
- playerStyle = player.style.cssText;
- leftBtn.style.display = 'inline';
- rightBtn.style.display = 'inline';
- }
- for (var i = 0; i < parentArray.length; i++) {
- if (!fullStatus) {
- backStyle[i] = parentArray[i].style.cssText;
- }
- parentArray[i].style.cssText = 'width:100% !important;height:100% !important;max-width:100% !important;margin:0px !important;padding:0px !important;top:0px !important;left:0px !important;z-index:2147483645 !important;overflow:hidden !important;position:fixed !important;background:#000 !important;border:none !important;display:inline !important;';
- }
- player.style.cssText = 'width:calc(100% - 2px) !important;height:100% !important;z-index:2147483645 !important;position:relative !important;visibility:visible !important;display:inline !important;';
- var rect = player.getBoundingClientRect();
- player.style.left = (1-rect.left)+'px';
- player.style.top = (0-rect.top)+'px';
- controlBtn.style.display = 'none';
- console.log('网页全屏完成');
- fullStatus = true;
- }
- function smallWin() {
- window.removeEventListener('resize', fullWin, false);
- for (var i = 0; i < parentArray.length; i++) {
- parentArray[i].style.cssText = backStyle[i];
- }
- player.style.cssText = playerStyle;
- leftBtn.style.display = 'none';
- rightBtn.style.display = 'none';
- console.log('恢复完成');
- fullStatus = false;
- }
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址