您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove ads, enlarges video, stops autoplay keeping buffering & block pop-ups from pornhub.com
当前为
// ==UserScript== // @author Jack_mustang // @contributor doej // @version 1.12 // @name PH.com // @description Remove ads, enlarges video, stops autoplay keeping buffering & block pop-ups from pornhub.com // @date 2016 April 08 // @include *pornhub.com/* // @run-at document-start // @grant none // @license Public Domain // @icon https://gmgmla.dm2301.livefilestore.com/y2pAKJYeZAp4tG23hG68x1mRuEUQXqb1MxdLbuqVnyyuHFxC7ra5Fc-tfq6hD-r9cNnVufT3egUHaimL547xDlESrOVmQsqNSJ5gzaiSccLYzo/ExtendPornHub-logo.png // @namespace 649b97180995e878e7e91b2957ef3bbee0f840a0 // ==/UserScript== // jshint multistr: true // globals: open parent // Block popups function Nop(e){ return; } function NoOpen(e){ return 1; } parent.open = NoOpen; this.open = NoOpen; window.open = NoOpen; open = NoOpen; window.open = Nop; open = Nop; this.open = Nop; parent.open = Nop; // Pop-up killer, we trick PH to think we are old Presto Opera, this kills the pop-ups if (!window.opera) window.opera = true; // Autoplay, autoload, etc. function changePlayer() { if (!document.getElementById('player')) return setTimeout(changePlayer, 50); var player = document.getElementById('player'), vidId = parseInt(player.getAttribute("data-video-id")), newflashvars = document.createElement("script"); newflashvars.setAttribute("type", "text/javascript"); newflashvars.id = "EPH-newflashvars"; newflashvars.innerHTML = ' \ .autoplay = false; \ .autoload = true; \ .htmlPauseRoll = false; \ .htmlPostRoll = false; \ .video_unavailable_country = false; \ '.replace(/\./g, 'flashvars_' + vidId + '.'); document.body.appendChild(newflashvars); } // wait while player doesn't load function html5player() { var flash = document.querySelector("#player object"), html5 = document.querySelector("#player video"); if (flash === null && html5 === null) return setTimeout(html5player, 50); var vidId = parseInt(document.getElementById('player').getAttribute("data-video-id")), playerDiv = document.getElementById("playerDiv_"+vidId); playerDiv.setAttribute("class", playerDiv.getAttribute("class") + " wide"); scrollthere(); } // Scroll video to middle of page function scrollthere() { var player = document.getElementById('player'), vh = player.offsetHeight, vd = document.querySelector(".container").offsetTop + document.querySelector(".container").parentNode.offsetTop + document.querySelector(".video-wrapper").offsetTop + ((document.querySelector("#PornhubNetworkBar>.bar_body") === null) ? 25 : 0), fh = window.innerHeight, sc = vd-((fh-vh)/2); scrollTo(0, sc); console.info("** ExtendPornHub **\ntop: "+vd+", height: "+vh+", scrolled: "+sc+", window: "+fh) ; } // Remove ads functions function removeQuery(query) { var ifr = document.querySelectorAll(query); if(ifr.length > 0) for(var i=0; i < ifr.length; i++) ifr[i].parentNode.removeChild(ifr[i]); } 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 ephcss = // Hide ads while we can't remove them "iframe, \ .home-ad-container, \ .adblockWhitelisted, \ .browse-ad-container, \ .playlist-ad-container, \ .communityAds, \ .photo-ad-container, \ #advertisementBox, \ .ad_box, \ .ad-link, \ .removeAdLink, \ #videoPageAds, \ .sectionTitle+div:not(#categoriesStraightImages), \ .edit-mode+div, \ .generator-sidebar>.sectionWrapper:first-child, \ .gifsWrapper>div:first-child {\ display: none !important;\ }" + // Videos Being Watched Right Now in one line + video ads + adBlock bar "ul.row-5-thumbs.videos-being-watched li.omega, #pb_block, .abAlertShown {\ display: none !important;\ }" + // Maximum full-width video "div#player {\ max-width: 100vw;\ max-height: 100vh;\ }"; // Inject created CSS var ephnode = document.createElement("style"); ephnode.type = "text/css"; ephnode.id = "EPH-style"; ephnode.appendChild(document.createTextNode(ephcss)); document.head.appendChild(ephnode); } function main(){ changePlayer(); // Remove iframes because they are ads removeQuery("iframe:not(#pb_iframe)"); // Homepage removeQuery(".home-ad-container"); removeQuery(".adblockWhitelisted"); // Search removeQuery(".browse-ad-container"); // Playlist removeQuery(".playlist-ad-container"); // Community removeQuery(".communityAds"); // Photo Gif removeQuery(".photo-ad-container"); // unique Photo removeQuery("#advertisementBox"); // Video removeQuery("videoPageAds"); // Video page if(document.getElementById('player')) { document.getElementById("hd-rightColVideoPage").setAttribute("class", "wide"); document.getElementById("player").setAttribute("class", "wide"); // Inject this function to page var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = scrollthere.toString() + html5player.toString() + "html5player();"; script.id = "EPH-scrollVid"; document.body.appendChild(script); // 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; \ border: 1px solid #313131; \ border-top-left-radius: 5px; \ color: #676767; \ font-weight: 700; \ background: #101010; \ text-align: center; \ font-size: 12px; \ padding: 7px 15px; \ z-index: 999999; \ "); node.setAttribute("onclick", "scrollthere();"); node.innerHTML = "Center video"; node.id = "EPH-scroll"; document.body.appendChild(node); // Add video download when not logged if( document.body.classList[0].search("logged-in") < 0 ) { var tab = document.querySelector(".download-tab"), dwlinks = ''; // where are those defined? var qualities = ['240p', '480p', '720p']; for (var i = 0; i < qualities.length; i++) { var quality = qualities[i]; var quality_url = window["player_quality_" + quality]; if (quality_url) { dwlinks += '<a class="downloadBtn greyButton" target="_blank" href="' + quality_url + '">' + '<i></i>' + (quality === '720p' ? '<span>HD</span> ' : '') + quality + '</a>'; } } tab.innerHTML = dwlinks; } } } var ExtendPH = function ExtendPornHub(){ addStyle(); window.addEventListener('DOMContentLoaded', main, false); }(); // vim: sw=4 noet :