// ==UserScript== // @name ヤフオクで非表示とメモ // @description q:非表示 w:アンドゥ b:NGワード Shift+Q:NG編集 12:メモを追加 34:自由メモ 56:定型文をメモ Shift+!:メモを編集 Shift+":自動メモのみ全削除 Shift+#:メモを一時非表示 Shift+56:定型文を設定 .:上限価格 t:半透明モード // @match *://auctions.yahoo.co.jp/search/* // @match *://page.auctions.yahoo.co.jp/jp/auction/* // @match *://auctions.yahoo.co.jp/seller/* // @match *://auctions.yahoo.co.jp/category/list/* // @match *://cpu.userbenchmark.com/* // @match *://webcomics.jp/* // @match *://www.amazon.co.jp/* // @exclude *://www.amazon.co.jp/*/cart/* // @exclude *://www.amazon.co.jp/*/buy/* // @exclude *://www.amazon.co.jp/*/huc/* // @exclude *://www.amazon.co.jp/*/css/* // @exclude *://www.amazon.co.jp/ap/* // @exclude *://www.amazon.co.jp/gp/* // @exclude *://www.amazon.co.jp/auto-deliveries* // @match *://booklive.jp/index/no-charge* // @match *://ebookjapan.yahoo.co.jp/free* // @match *://ebookjapan.yahoo.co.jp/ranking/free/* // @match *://ebookjapan.yahoo.co.jp/ranking/details/free/* // @match *://ebookjapan.yahoo.co.jp/viewer* // @match *://sokuyomi.jp/* // @match *://csbs.shogakukan.co.jp/free* // @match *://www.rtings.com/*/tools/table* // @match *://www.rtings.com/*/reviews/* // @match *://www.nicovideo.jp/search/* // @match *://www.nicovideo.jp/tag/* // @match *://www.nicovideo.jp/user/* // @match *://www.nicovideo.jp/series/* // @match *://www.nicovideo.jp/my/* // @match *://www.nicovideo.jp/ranking/* // @match *://*.5ch.net/* // @match *://www.ebay.com/sch/* // @match *://www.ebay.com/itm/* // @match *://jmty.jp/* // @match *://greasyfork.org/*/scripts* // @match *://*.aliexpress.com/af/* // @match *://*.aliexpress.com/item/* // @match *://*.aliexpress.com/wholesale* // @match *://www.cmoa.jp/freecontents* // @match *://piccoma.com/* // @match *://www.mangaz.com/* // @match *://www.sukima.me/* // @match *://*.userbenchmark.com/* // @match *://www.hellowork.mhlw.go.jp/kensaku/* // @match *://kakaku.com/* // @match *://seiga.nicovideo.jp/* // @match *://seiga.nicovideo.jp // @match *://tsugimanga.jp/* // @match *://www.yodobashi.com/* // @match *://www.youtube.com/* // @match *://*.iherb.com/* // @match *://www.suruga-ya.jp/* // @match *://twitter.com/* // @match *://www.nicovideo.me/* // @match *://www.nicochart.jp/* // @match *://pubmed.ncbi.nlm.nih.gov/?term=* // @match *://pubmed.ncbi.nlm.nih.gov/?linkname=* // @match *://pubmed.ncbi.nlm.nih.gov/* // @match *://a-timesale.com/* // @match *://rrws.info/* // @match *://commons.nicovideo.jp/* // @match *://scholar.google.tld/* // @match *://hibiki-radio.jp/* // @match *://www.onsen.ag/ // @match *://www.freem.ne.jp/* // @match *://shopping.yahoo.co.jp/search* // @match *://360life.shinyusha.co.jp/* // @match *://omocoro.jp/* // @match *://minsoku.net/* // @match https://refind2ch.org/search* // @match *://chiebukuro.yahoo.co.jp/* // @match *://www.msdmanuals.com/* // @match *://ff5ch.syoboi.jp/?q=* // @match *://todo-ran.com/* // @match *://booth.pm/* // @match *://sakura-checker.jp/category/* // @match https://chrome.google.com/webstore/search/* // @match https://chrome.google.com/webstore/detail/* // @match *://twicomi.com/* // @match *://twiman.net/* // @match *://free.arinco.org/* // @match *://workman.jp/shop/* // @match *://www.uniqlo.com/* // @match *://*.shitaraba.net/bbs/read.cgi/* // @match *://*.ftbucket.info/* // @match *://kuzure.but.jp/* // @match *://*.2chan.net/* // @version 0.5.43 // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_addStyle // @run-at document-idle // @namespace https://greasyfork.org/users/181558 // @require https://code.jquery.com/jquery-3.4.1.min.js // @downloadURL none // ==/UserScript== (function() { const ENABLE_EXCEPT_YAJ = 1; // 1:ヤフオク以外でも有効 0:ヤフオクでのみ動作 const ENABLE_HELP = 1; // 1:操作ガイドを表示 0:無効 const REPLACE_LINK_IN_YOUTUBE = 1; // 1:YouTubeで投稿者のチャンネルのホームタブへのリンクをチャンネルの動画タブへのリンクに置き換える const WCA_HIDE_SOME_SITES = 0; // (Web漫画アンテナで)1:使いにくい又は遅いサイト(コミックライド、マンガPark、コミックファイア、コミックヴァルキリー、まんがライフSTORIA´、がうがうモンスター、Z、スポバトマンガ研究所、WEBコミックガンマ、COMICリュウ、新都社、COMIC FUZ、COMICフルール、comicグラスト)の項目を隠す 0:無効 const ENABLE_AUTOMEMO = 7; // 0:自動メモを無効 1でオン 2~7:大きくするほど一時的に表示が崩れる代わりに確実 const fasttest = 1; // 1:高速モードを試用 const KEYCHANGE_DEBUG = "disable"; // 押す度にdebugを0~3に切り替えるキー "Shift+D","disable"等 var debug = 0; // 1~だとデバッグモード dc(text) 1:コンソールにverbose表示 2:verboseをポップアップ(速度測定して表示 sw("項目"))&非表示にした原因に枠追加 3:Q/1/2等の対象要素を目立たせる const debug2 = 0; // 1だとデバッグモード 非対応ページでその旨表示など const SITES_TO_BE_HIDDEN = ["マンガPark", "コミックファイア", "コミックヴァルキリー", "まんがライフSTORIA´", "COMICメテオ", "がうがうモンスター", "Z", "スポバトマンガ研究所", "WEBコミックガンマ", "COMICリュウ", "新都社", "COMIC FUZ", "COMICフルール", "コミックライド", "comicグラスト", "マンガ5"]; // Web漫画アンテナで使いにくい、遅い等非表示にしたいサイトを書く const ENABLE_MEASURE_TIME_SPENT = 0; // 1で速度測定して表示 sw("項目") var swb = new Date(); sw("reset") // = new Date(); String.prototype.match0 = function(re) { let tmp = this.match(re); if (!tmp) { return "" } else if (tmp.length === 1) { return tmp[0] } else return tmp[1] } // thisにreがmatchすればその最初の文字列か最初のキャプチャ、なければ"" $.fn.animate2 = function(properties, duration, ease) { ease = ease || 'ease'; var $this = this; var cssOrig = { transition: $this.css('transition') }; return $this.queue(next => { properties['transition'] = 'all ' + duration + 'ms ' + ease; $this.css(properties); setTimeout(function() { $this.css(cssOrig); next(); }, duration); }); }; if (window != parent) return; const WAIT = performance.now(); // ページ開始後のウエイト用 delayAutoWeightingをかける const COLOR1 = "#6080ff", COLOR2 = "#c03020", COLOR3 = "#808080", COLOR5 = "#6080ff", COLOR6 = "#c03020", COLORCPUSCORE = "#a08000", KEYHIDE = "q", KEYUNDO = "w", KEYBW = "b", KEYEDIT = "Shift+Q", // KEYEDIT2 = "Shift+B", KEYMAXP = ".", KEYMEMO1 = "1", KEYMEMO2 = "2", KEYMEMO1S = "3", KEYMEMO2S = "4", KEYMEMO5 = "5", KEYMEMO6 = "6", KEYMEMO5EDIT = "Shift+%", KEYMEMO6EDIT = "Shift+&", KEYTOGGLEtranslucent = "t", KEYRESETMEMO = "Shift+!", KEYRESETMEMOAUTO = "Shift+\""; var MEMO5WORD = "", // 5キーの定型文初期値 ""なら現在年月日 MEMO6WORD = ""; // 6キーの定型文初期値 ""なら現在年月日 var pauseAll = 0; // 上が優先 const SITEINFO = [ { id: 'FUTACHAN', urlRE: '//.*.ftbucket.info/|//kuzure.but.jp/|//[^.]+.2chan.net\/', listTitleXP: '//span[@class="cno"]', listTitleSearchXP: '//span[@class="cno"][+++]/../../../..', listTitleMemoSearchXP: '//span[@class="cno"][+++]', listGen: 5, detailURLRE: /$^/, detailTitleXP: '', detailTitleSearchXP: '', //WhateverFirstAndEveryAPFunc:(node=document)=>{elegeta('//a').forEach(e=>{e.href=e.href.replace(/http:\/\//,"https://")})}, WhateverFirstAndEveryAPFunc: () => { popup3("Shift+F:FTBucket検索", 6, 1, 5000) }, keyFunc: [{ key: 'Shift+F', // Shift+F::FTBucketでキーワード検索 func: () => { var selection = null; //(window.getSelection && !window.getSelection().toString().trim().match0(/\n/)) ? window.getSelection().toString().trim() : "" let prev = pref(SITE.id + " : ftbSearch") let query = prompt("FTBucketで全体検索します\n|でOR\n\n履歴:\n" + (pref(SITE.id + " : ftbSearchLog") || []).slice(0, 50).join("\n") + "\n\nhttps://www.ftbucket.info/scrapshot/ftb/index.php?mode=c&favo=0&ord=1&s=${キーワード}\n\n", selection || (prev ? prev + "|" : "")); if (query) { query = Array.from(new Set(query.replace(/\|/g, "|").replace(/|+/gmi, "|").split("|"))).join("|").replace(/^[|\|]+|[|\|]+$/gmi, "").trim() // 重複自動削除 if (!selection) prefl(SITE.id + " : ftbSearch", query.replace(/\|/g, "|")); window.open(`https://www.ftbucket.info/scrapshot/ftb/index.php?mode=c&favo=0&ord=1&s=${query.replace(/|/g,"|")}`); } return false; } }], funcOnlyFirst: () => { // タイトルをもう少し多く書く if (location.href.match0("https://www.ftbucket.info/scrapshot/ftb/")) { elegeta('//td/span[@title]/div').forEach(e => { e.textContent = e.parentNode.title.substr(0, 30); e.style.width = "10em"; }) } $(elegeta('//table[@class="deleted"]|//tr/td[@class="rtd"]/blockquote[contains(text(),"del")]/../../../..')).attr("title", "クリックで復帰").animate2({ "opacity": "0.3", "transform": "scale(0.8)", "transform-origin": "right", "float": "right" }, 500).one("click", function() { $(elegeta('//table[@class="deleted"]|//tr/td[@class="rtd"]/blockquote[contains(text(),"del")]/../../../..')).attr("title", "").animate2({ "opacity": "0.7", "transform": "scale(1)", "transform-origin": "right", "float": "none" }, 500); $(this)[0].scrollIntoView({ block: "nearest", behavior: "smooth" }) }) // 隔離を薄くして右に elegeta('//div/input[@type="search" and @id="searchword"]').forEach(e => e.style.width = "calc(100% - 4em)") // 検索フォームを大きく // youtube埋め込み var embed = () => { let elea = elegeta('//a[contains(@href,"youtube.com")][not(@yte)]|//a[contains(@href,"youtu.be")][not(@yte)]'); for (let ele of elea.filter(e => isinscreen(e))) { let url = ele.href //innerText; ele.setAttribute("yte", "yte"); var sm = (url.match(/h?ttps?:\/\/youtu\.be\/([^&?]+.*)\?t=(\d*).*$/i) || url.match(/h?ttps?:\/\/w?w?w?m?\.youtube\.com\/watch\?v=([^&]+.*)&t=(\d*).*$/i)) || url.match(/h?ttps?:\/\/youtu\.be\/([^&?]+)/i) || url.match(/h?ttps?:\/\/w?w?w?m?\.youtube\.com\/watch\?v=([^&]+)/i); if (!sm) continue $(ele.parentNode).after('