您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ブラウザから見る2ch.netを強化(新鯖のみ対応)
- // ==UserScript==
- // @name 2chScript
- // @namespace https://greasyfork.org/ja/users/94414
- // @version 0.1.1
- // @description ブラウザから見る2ch.netを強化(新鯖のみ対応)
- // @author Petitsurume
- // @match http://*.2ch.net/test/read.cgi/*
- // @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
- // @grant GM_getValue
- // @grant GM_setValue
- // ==/UserScript==
- (function() {
- 'use strict';
- // Your code here...
- $(function(){
- var ng_ids = JSON.parse(GM_getValue("2ch_ng_ids","[]"))
- var filter_flag=false
- console.log("NG:",ng_ids)
- function setNGCSS(){
- ng_ids.forEach(function(id){
- var $post = $('.post[data-userid="'+id+'"]')
- $post.find(".name").html("<b>あぼーん</b>")
- $post.find(".message").text("あぼーん")
- $post.find(".date").text("あぼーん(UserScript "+id+")")
- var $$hide_link=$("<a>")
- $$hide_link.attr("href","#"+Math.random())
- $$hide_link.css("margin-left","0.5em")
- $$hide_link.click(function(){
- $('.post[data-userid="'+id+'"]').hide()
- })
- $$hide_link.text("[透明化]")
- $post.find(".date").append($$hide_link)
- })
- }
- function addNG(id){
- ng_ids.push(id)
- GM_setValue("2ch_ng_ids",JSON.stringify(ng_ids))
- setNGCSS()
- }
- $(".post").each(function(){
- var $post = $(this)
- var $date = $post.find(".date")
- var $message = $post.find(".message")
- var userid = $post.data("userid")
- var isAnon = (userid == "ID:???" || userid =="")
- // 発言カウンター
- if(!isAnon) {
- var $$counter = $("<span>")
- if($('.post[data-userid="'+userid+'"]').length > 5) $$counter.css("color","#a00"); else $$counter.css("color","#888")
- var count = "??"
- var _count=0
- $('.post[data-userid="'+userid+'"]').each(function(){
- _count++
- if($(this).data("id") == $post.data("id")) count=_count
- })
- $$counter.text(" ("+count+"/"+($('.post[data-userid="'+userid+'"]').length)+"回発言)")
- $date.append($$counter)
- }
- // NGリンク
- if(userid !== "") {
- var $$ng_link = $("<a>")
- $$ng_link.attr("href","#."+Math.random())
- $$ng_link.text("[IDをNG]")
- $$ng_link.css("margin-left","0.5em")
- $$ng_link.click(function(e){
- e.preventDefault()
- if(!confirm(userid+"をNGします")) return
- addNG($post.data("userid"))
- })
- $date.append($$ng_link)
- }
- // 抽出リンク
- if(userid !== "") {
- var $$filter_link = $("<a>")
- $$filter_link.attr("href","#."+Math.random())
- $$filter_link.text("[IDで抽出]")
- $$filter_link.css("margin-left","0.5em")
- $$filter_link.addClass("filter_link")
- $$filter_link.click(function(e){
- e.preventDefault()
- if(filter_flag){
- filter_flag=false
- $(".filter_link").text("[IDで抽出]")
- $(".post").removeClass("filter_gisei")
- return
- }
- $(".post").each(function(){
- var $post=$(this)
- if($post.data("userid") != userid) $post.addClass("filter_gisei")
- })
- $(".filter_link").text("[抽出をやめる]")
- filter_flag = true
- })
- $date.append($$filter_link)
- }
- // リンク解析
- var $preview = $("<div>")
- $message.append($preview)
- $message.find("a").each(function(){
- var $link = $(this)
- var url = $link.text()
- var hostname = $("<a>").attr("href",$link.text()).get(0).hostname
- if($link.text().substring(0,2) == ">>") { // アンカー
- $link.attr("href",location.href.replace(location.hash,"")+"#"+$link.text().substring(2))
- $link.attr("target","")
- }
- if(hostname == "i.imgur.com") { // imgur プレビュー
- var $$img_a = $("<a>")
- var $$img = $("<img>")
- $$img.attr("src",url)
- $$img_a.attr("href",url)
- $$img.css("width","3em")
- $$img.css("height","3em")
- $$img_a.attr("target","_blank")
- $$img_a.append($$img)
- $preview.append($$img_a)
- }
- })
- })
- $("body").append($("<style>.filter_gisei{display:none;}</style>"))
- setNGCSS()
- })
- })();