您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove ads, enlarge video, auto-centre video & block pop-ups
// ==UserScript== // @author Jack_mustang // @version 1.0 // @name ExtendXVideos // @description Remove ads, enlarge video, auto-centre video & block pop-ups // @date 2016 January 27 // @include *xvideos.com/* // @run-at document-start // @grant none // @license Public Domain // @icon https://szvicq-dm2306.files.1drv.com/y3mUIY4UTuouBPHkXB4lw5qpXPSuf83fD-35aldAlxuWGjVUt0WEP8WQsZRV_-QcAsN5cKkWUFdZl6afpyfGNDpC1uFbsy3MSTftxjKzUnk1ZmCJemVtOTtS08eFYfEElGYwBcZbwE3tEescW3q7wEq7TMy0eGe8DmOYzWOD2qd5gM?width=145&height=145&cropmode=none // @namespace 88769cc55590fe09dfd8445da5193c9537a2d02c // ==/UserScript== // Disable popups function NoOpen(e){return 1} parent.open=NoOpen; this.open=NoOpen; window.open=NoOpen; open=NoOpen; window.open = function(){return;} open = function(){return;} this.open = function(){return;} parent.open = function(){return;} (function extendXVideos() { var proxied = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function() { // Allow video download logged out if (!window.xv.conf.data.login_info.is_logged && arguments[1].match(/video-download/)) { this.onreadystatechange = function() { Object.defineProperty(this, "responseText", {writable: true}); var message = { "LOGGED": true, "URL": html5player.url_high, "URL_LOW": html5player.url_low }; this.responseText = JSON.stringify(message); } return proxied.apply(this, [].slice.call(arguments)); } // Block ads, allow from xvideos.com if (arguments[1].match(/^\/\w|xvideos\.com\//)) { return proxied.apply(this, [].slice.call(arguments)); } return false; } // Page modification without CSS window.addEventListener("DOMContentLoaded", function() { // More tiles in pages that had side ads if (document.querySelector(".mozaique:not(.thumbs-4)")) { document.querySelector(".mozaique:not(.thumbs-4)").className = "mozaique thumbs-4"; } // Scroll to center video if (document.querySelector("body > #page.video-page")) { document.querySelector("#page.video-page #content").className = "player-enlarged"; function scrollthere() { var vid = document.querySelector("#content"), vh = vid.offsetHeight, vd = vid.offsetTop, fh = window.innerHeight, sc = vd-((fh-vh)/2) console.log(vd) scrollTo(0, sc) }// Now inject this function var script = document.createElement("script") script.setAttribute("type","text/javascript") script.innerHTML = scrollthere.toString() + "scrollthere();" script.id = ("ERT-scrollVid") document.head.appendChild(script) // Keyboard Shortcut for centring window.addEventListener("keyup", function(e) { if(e.ctrlKey && e.altKey && (e.code === "KeyC" || (e.code === undefined && e.keyCode === 67))) scrollthere() }, false) // Include button in right corner to center video on screen; var node = document.createElement("div") node.setAttribute("style", "position:fixed; bottom:0; right:0; cursor:pointer; background:#f2f2f2; padding:5px 10px; border:1px solid #d9d9d9; border-top-left-radius: 5px; z-index: 10000") node.setAttribute("onclick", "scrollthere();") node.setAttribute("title", "Ctrl+Alt+C (Other layouts use the key where C would be on the QWERTY layout)") node.innerHTML = "Centre" document.body.appendChild(node) } }); }()); // Inject CSS to modify page (function addStyle() { // While <head> is not loaded we keep trying if (!document.querySelector("head")) { return setTimeout(addStyle, 50); } // We create an object and start including its content to include in DOM at the end. var exvcss = ".pagination ul {\ display: table;\ margin: auto;\ font-size: 2em;\ }\ #main > div[id].mobile-hide:not([id=content]),\ #content > div.mobile-hide:first-child,\ .sponsor_popup {\ display: none;\ }"; var exvnode = document.createElement("style"); exvnode.type = "text/css"; exvnode.id = "EAST-style"; exvnode.appendChild(document.createTextNode(exvcss)); document.head.appendChild(exvnode); }());