您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ニコニコのリンク先URLを改変して快適にニコニコします。
// ==UserScript== // @name Niconico Link Modifier // @namespace knoa.jp // @description ニコニコのリンク先URLを改変して快適にニコニコします。 // @include http*://www.nicovideo.jp/* // @include http*://dic.nicovideo.jp/* // @include http*://live.nicovideo.jp/* // @version 1 // @grant none // ==/UserScript== (function(){ const SCRIPTNAME = 'NiconicoLinkModifier'; function modify(as){ let href; for(let i = 0; i<as.length; i++){ switch(true){ // 連続再生ボタンはいじらない(けど機能しない…) case as[i].id === 'BTN_playlist_play_all': break; // CSSのVisitedを活用するため、アンカーURLからクエリ文字列を取り除いて正規化 case (href = as[i].href.match(/^(https?:\/\/[a-z]+\.nicovideo\.jp\/watch\/[a-z]+\d+)\?/)) !== null: case (href = as[i].href.match(/^(https?:\/\/live\.nicovideo\.jp\/searchresult\?v=[a-z]+\d+)/)) !== null: as[i].href = href[1]; break; // タグのデフォルト並び替えを「マイリスト数が多い順」にする case (href = as[i].href.match(/^(https?:\/\/www\.nicovideo\.jp\/tag\/[^\?]+)$/)) !== null: case (href = as[i].href.match(/^(https?:\/\/www\.nicovideo\.jp\/tag\/[^\?]+)\?ref=tagconcerned$/)) !== null: as[i].href = href[1] + '?sort=m'; break; // お便りの投稿を通常リンクにすべき? } as[i].classList.add(SCRIPTNAME); } } //window.addEventListener('load', function(){modify(document.getElementsByTagName('a'))}, false); //document.body.addEventListener('AutoPagerize_DOMNodeInserted', function(e){modify(e.target.getElementsByTagName('a'))}, false); //ロード数秒後のタイミングで書き換わったりするからいっそのことIntervalでいいや。 //select要素のchangeでAjaxで書き換えられる場合にも対応できて一石二鳥。 setInterval(function(){modify(document.querySelectorAll(`a:not(.${SCRIPTNAME})`))}, 1000); })();