您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ニコニコ生放送:GINZAの生放送プレイヤーのUIをお手軽カスタマイズ。
// ==UserScript== // @name CustomGinnamaWatch // @include http://live.nicovideo.jp/watch/* // @version 2.0.5 // @namespace http://d.hatena.ne.jp/wfwjfow/ // @description ニコニコ生放送:GINZAの生放送プレイヤーのUIをお手軽カスタマイズ。 // @grant GM_getValue // @grant GM_setValue // ==/UserScript== /* 参考スクリプト NicoRankingKidokuDelete → http://userscripts.org/scripts/show/45927 参考サイト http://userscripts.org/topics/43597 http://stackoverflow.com/questions/2246901/how-can-i-use-jquery-in-greasemonkey-scripts-in-google-chrome http://www.webopixel.net/javascript/160.html */ (function() { if ((typeof GM_getValue == 'undefined') || (GM_getValue('a', 'b') == undefined)) { GM_getValue = function(name, defaultValue) { var value = localStorage.getItem(name); if (!value) return defaultValue; var type = value[0]; value = value.substring(1); switch (type) { case 'b': return value == 'true'; case 'n': return Number(value); default: return value; } } GM_setValue = function(name, value) { value = (typeof value)[0] + value; localStorage.setItem(name, value); } if(typeof(unsafeWindow)=='undefined') { unsafeWindow=window; } } //ウォール消去 function walloff(){ if( GM_getValue("walloff")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#wall_canvas{display:none!important;}#wall_chip_area{display:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } //広告消去 function senCut2(){ if( GM_getValue("senden2")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#ad_bnr,#footer_ads,#jsFollowingAdContent{display:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } //宣伝ボタン消去 function senCut3(){ if( GM_getValue("senden3")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#watch_title_box .niconikoukoku{display:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } //フッター消去 function footcut(){ if( GM_getValue("footer_off")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#page_footer,#body_footer_wrap{display:none!important;}#watch_tab_box{border-bottom:0!important;box-shadow:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); if(window.parent.location.href.slice(0,35)=="http://live.nicovideo.jp/watch/nsen"){ var pstyle = document.createElement('style'); pstyle.setAttribute('type','text/css'); var css2 = '#utility_link,#page_footer,#body_footer_wrap{display:none!important;}'; pstyle.innerHTML = css2; document.getElementsByTagName('head')[0].appendChild(pstyle); } } } //ヘッダー開閉式に function headcut(){ if( GM_getValue("head_off")=="on"){ var headbar = document.createElement("div"); headbar.id = "headbar"; document.body.appendChild(headbar); var hedda = document.getElementById("siteHeader"); if(GM_getValue("heddadisplay","")=="none"){ hedda.style.display="none"; }; headbar.addEventListener("click",function(e){ hedda.style.display = (hedda.style.display == "") ? "none" : ""; GM_setValue("heddadisplay",hedda.style.display); },false); var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = 'body{padding-top:0!important;}body #content{padding-top:5px!important;}body.nofix #siteHeader{position:relative!important;z-index:99999999!important;}#headbar{background-color:#222222;position:fixed;top:0;font-size:0px;display:block;width:100%;height:5px;z-index:999999999;cursor:pointer;margin-left:0!important;}#content{background-color:#000000!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } //市場消去 function ichibaCut(){ if( GM_getValue("ichiba_off")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#advertisement_box{display:none!important;}div#watch_tab_box{background:transparent!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } //ザッピングを消去 function zappingCut(){ if( GM_getValue("zapping_off")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#watch_zapping_box{display:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); if(window.parent.location.href.slice(0,35)=="http://live.nicovideo.jp/watch/nsen"){ var pstyle = document.createElement('style'); pstyle.setAttribute('type','text/css'); var css2 = '{display:none!important;}'; pstyle.innerHTML = css2; document.getElementsByTagName('head')[0].appendChild(pstyle); } } } //使い方・共有等を消去 function helpCut(){ if( GM_getValue("help_off")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#watch_player_bottom_box{display:none!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); if(window.parent.location.href.slice(0,35)=="http://live.nicovideo.jp/watch/nsen"){ var pstyle = document.createElement('style'); pstyle.setAttribute('type','text/css'); var css2 = '#player_btm{display:none!important;}div#reqBoxRule{display:none!important;}#mylistArea{margin:0!important;padding:0!important;}'; pstyle.innerHTML = css2; document.getElementsByTagName('head')[0].appendChild(pstyle); } } } //ロゴ・検索ボックス消去 function logoCut(){ if( GM_getValue("logo_off")=="on"){ var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#page_header{display:none!important;}#page_cover{margin-top:0px!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); if(window.parent.location.href.slice(0,35)=="http://live.nicovideo.jp/watch/nsen"){ var pstyle = document.createElement('style'); pstyle.setAttribute('type','text/css'); var css2 = 'div.headerInner{display:none!important;}div#header{margin-top:20px!important;}'; pstyle.innerHTML = css2; document.getElementsByTagName('head')[0].appendChild(pstyle); } } } //ページ左右余白リンク消去 function dellink(){ if( GM_getValue("link_off")=="on"){ if(window.parent.location.href.slice(0,35)!="http://live.nicovideo.jp/watch/nsen"){ var divleft=document.createElement("div"); var divright=document.createElement("div"); divleft.id="divleft"; divright.id="divright"; document.body.appendChild(divleft); document.body.appendChild(divright); var divwidth=parseInt( (document.body.clientWidth-960)/2 +1 ); divleft.style.width=divwidth+"px"; divright.style.width=divwidth+"px"; var pagewidth=parseInt( (document.body.clientWidth-960)/2 +1 ); document.getElementById("prefDiv").style.right=pagewidth+"px"; var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#divleft{position:absolute;top:0;left:0;height:100%;background-color:#F4F4F4;z-index:9999999;}#divright{position:absolute;top:0;right:0;height:100%;background-color:#F4F4F4;z-index:99999;}#siteHeader #siteHeaderInner{width:984px!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); window.onresize = function() { var divwidth=parseInt( (document.body.clientWidth-960)/2 +1 ); divleft.style.width=divwidth+"px"; divright.style.width=divwidth+"px"; var pagewidth=parseInt( (document.body.clientWidth-960)/2 +1 ); document.getElementById("prefDiv").style.right=pagewidth+"px"; } } } } //上のニュース消去 function delnews(){ if( GM_getValue("delnews")=="on"){ var divdelnews=document.createElement("div"); divdelnews.id="divdelnews"; document.body.appendChild(divdelnews); document.getElementById("slider_container").appendChild(divdelnews); var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#divdelnews{background-color:#F4F4F4;z-index:9999999;width:100%;height:60px;position:absolute;top:7px;}.JS_PLAYER_FULL #divdelnews{z-index:-100;background-color:#222222;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } } function labelElement(str,che){ var k = document.createElement("label"); k.innerHTML = str; k.style.cursor = "hand"; k.setAttribute("for",che); k.style.fontSize = "12px"; return k; } function interface_kidoku(){ var prefDiv = document.createElement("div"); prefDiv.style.width = "300px"; prefDiv.style.height = "240px"; prefDiv.style.overflowY = "scroll"; prefDiv.innerHTML = "GinnamaWatchカスタマイズ設定" + "<br>"; prefDiv.style.backgroundColor = "#ccccff"; prefDiv.style.color = "black"; prefDiv.style.border = "1px solid #888"; prefDiv.style.position = "fixed"; prefDiv.style.bottom = "0px"; prefDiv.style.right = "0px"; prefDiv.style.textAlign = 'left'; prefDiv.style.margin = "0 0 0 0"; prefDiv.style.zIndex = 999; prefDiv.style.display = (GM_getValue("prefDisplay") == "none") ? "none" : ""; prefDiv.id = "prefDiv"; document.body.appendChild(prefDiv); var tojiru=document.createElement("div"); tojiru.innerHTML = "閉じる"; tojiru.style.position = "absolute"; tojiru.style.top = "0px"; tojiru.style.right = "5px"; tojiru.style.color="#00BFFF"; tojiru.style.cursor = "pointer"; tojiru.id="tojiru"; var linkwalloff = document.createElement("input"); linkwalloff.name = "walloff"; linkwalloff.caption = "ウォール消去"; var linkSen2 = document.createElement("input"); linkSen2.name = "senden2"; linkSen2.caption = "Flash上以外の広告を消去"; var linkichiba = document.createElement("input"); linkichiba.name = "ichiba_off"; linkichiba.caption = "市場消去"; var linksencut = document.createElement("input"); linksencut.name = "senden3"; linksencut.caption = "宣伝ボタン消去"; var linklist = document.createElement("input"); linklist.name = "zapping_off"; linklist.caption = "ザッピングを消去"; var linkfootcut = document.createElement("input"); linkfootcut.name = "footer_off"; linkfootcut.caption = "フッター消去"; var linkhelp = document.createElement("input"); linkhelp.name = "help_off"; linkhelp.caption = "使い方・共有等を消去"; var linklogocut = document.createElement("input"); linklogocut.name = "logo_off"; linklogocut.caption = "ロゴ・検索ボックス消去"; var linkdellink = document.createElement("input"); linkdellink.name = "link_off"; linkdellink.caption = "ページ左右余白リンクを消去"; var linkheadcut = document.createElement("input"); linkheadcut.name = "head_off"; linkheadcut.caption = "ヘッダーを開閉式に"; var linkdelnews = document.createElement("input"); linkdelnews.name = "delnews"; linkdelnews.caption = "上のニュース消去"; var form = document.createElement("form"); var links = [linkSen2,linkichiba,linkfootcut,linklist,linkhelp,linkdellink,linklogocut,linkheadcut,linkwalloff,linksencut,linkdelnews]; for (var i=0;i<links.length;i++){ links[i].type = "checkbox"; links[i].defaultValue = "off"; } for (var i=0;i<links.length;i++){ if (!GM_getValue(links[i].name)) { GM_setValue(links[i].name, links[i].defaultValue); } links[i].id = links[i].name; links[i].checked = (GM_getValue(links[i].name) != "on") ? false : true; links[i].addEventListener("click", function(e){ GM_setValue(this.name, (GM_getValue(this.name) != "on") ? "on" : "off"); }, true); } //登録 form.appendChild(tojiru); form.appendChild(document.createElement("br")); form.appendChild(linkSen2); form.appendChild(labelElement(linkSen2.caption, linkSen2.id)); form.appendChild(document.createElement("br")); form.appendChild(linksencut); form.appendChild(labelElement(linksencut.caption, linksencut.id)); form.appendChild(document.createElement("br")); form.appendChild(linkwalloff); form.appendChild(labelElement(linkwalloff.caption, linkwalloff.id)); form.appendChild(document.createElement("br")); form.appendChild(linkheadcut); form.appendChild(labelElement(linkheadcut.caption, linkheadcut.id)); form.appendChild(document.createElement("br")); form.appendChild(linkfootcut); form.appendChild(labelElement(linkfootcut.caption, linkfootcut.id)); form.appendChild(document.createElement("br")); form.appendChild(linklist); form.appendChild(labelElement(linklist.caption, linklist.id)); form.appendChild(document.createElement("br")); form.appendChild(linkhelp); form.appendChild(labelElement(linkhelp.caption, linkhelp.id)); form.appendChild(document.createElement("br")); form.appendChild(linkichiba); form.appendChild(labelElement(linkichiba.caption, linkichiba.id)); form.appendChild(document.createElement("br")); form.appendChild(linklogocut); form.appendChild(labelElement(linklogocut.caption, linklogocut.id)); form.appendChild(document.createElement("hr")); form.appendChild(linkdellink); form.appendChild(labelElement(linkdellink.caption, linkdellink.id)); form.appendChild(document.createElement("br")); form.appendChild(linkdelnews); form.appendChild(labelElement(linkdelnews.caption, linkdelnews.id)); prefDiv.appendChild(form); var prefSw = document.createElement("span"); prefSw.innerHTML = "カスタマイズ設定"; prefSw.id = "qnama"; prefSw.addEventListener("click",function(e){ prefDiv.style.display = (prefDiv.style.display == "") ? "none" : ""; GM_setValue("prefDisplay",prefDiv.style.display); },false); document.getElementById("siteHeaderRightMenuContainer").appendChild(prefSw); tojiru.addEventListener("click",function(e){ prefDiv.style.display = (prefDiv.style.display == "") ? "none" : ""; GM_setValue("prefDisplay",prefDiv.style.display); },false); var oStyle = document.createElement('style'); oStyle.setAttribute('type','text/css'); var css = '#siteHeader #siteHeaderInner{width:85%!important;}#qnama{margin-left:17px;color:#000000!important;cursor:pointer;}#prefDiv hr{margin:5px 0;border-color:#333333;}#utility_link{display:none!important;}.JS_PLAYER_MIDDLE .slider_container,.JS_PLAYER_NORMAL .slider_container{padding: 7px 0!important;}'; oStyle.innerHTML = css; document.getElementsByTagName('head')[0].appendChild(oStyle); } interface_kidoku(); senCut2(); senCut3(); zappingCut(); footcut(); ichibaCut(); helpCut(); logoCut(); headcut(); dellink(); walloff(); delnews(); })();