Waifuist 8chan Enhancer 2

Early version of an updated script for 8chan: Post counting and notify, quick reply, images from links.

目前為 2014-09-23 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name           Waifuist 8chan Enhancer 2
// @include        https://8chan.co/*res*
// @description    Early version of an updated script for 8chan: Post counting and notify, quick reply, images from links.
// @version        0.0.4
// @namespace https://greasyfork.org/users/2657
// ==/UserScript==

//Config Vars
var Configs = {counter:"ON", linkimgopt:"ON", menu:"ON", configmenu:"ON", arrows:"ON", noko:"ON", antiflood:"ON"};

//Load Configs System
if (localStorage.getItem('Configs')){
    var Configs2 = localStorage.getItem('Configs');
    Configs = JSON.parse(Configs2);
};

//Configs Saver
function save(){
    localStorage.setItem("Configs", JSON.stringify(Configs));
};

//quick reply 2.0
$('form:first-of-type').addClass( "postboxy" );



//$("a[onclick*='cite']").each(function() {
  //  var att = $(this).attr('onclick');
    //$(this).attr('onclick', 'ex' + att);
//});

//$(document).on('click', "a[onclick*='excite']", function() {
  //  alert($(this).text());
//});


//Notifier/Counter
if (Configs["counter"] == "ON") {
    var count = 0;
    
    $('#favicon').remove();
    $('head').append('<link href="http://i.imgur.com/wBQJqld.png" id="favicon" rel="shortcut icon">');
    
    $(document).on( "new_post", function() {
        count++;
        if (Configs["linkimgopt"] == "ON") {linkimg();};
    });
    
    var title_regex = /^\(\d+\) (.*)$/;
    var original_title = document.title;
    var match = title_regex.exec(document.title);
    if (match != null) {
        original_title = match[1];
    };
    
    setInterval(function() {
        var state2 = document["visibilityState"];
        if (state2 == "visible"){
            count = 0;};
        if (count > 0 && state2 == "hidden") {
            document.title = '('+count+') '+original_title;
            $('#favicon').remove();
            $('head').append('<link href="http://i.imgur.com/lfAW4fq.png" id="favicon" rel="shortcut icon">');
        };
    }, 10000);
    
    var onVisibilityChange = function (args) {
        var state = document["visibilityState"];
        if (state == "visible")
        {
            document.title = original_title;
            count = 0;
            $('#favicon').remove();
            $('head').append('<link href="http://i.imgur.com/wBQJqld.png" id="favicon" rel="shortcut icon">');
        }
    };
    
    document.addEventListener("visibilitychange", onVisibilityChange, false);
    
};

//Menu
if (Configs["menu"] == "ON") {
    $('body').append("<div class='menu' style='position:fixed; right:10%; bottom:20%; width:49px; background:grey;'><center><font size='30'><a alt='Scroll Up' style='text-decoration: none' href='javascript:window.scrollTo(0,0);'>▲</a><br><a style='text-decoration: none' href='javascript:window.scrollTo(0,900000000);'>▼</a></div>")
};

//Config Menu
if (Configs["configmenu"] == "ON") {
    $("body").append("<div class='optionslink' style='cursor: pointer; cursor: hand; width:auto;'>[Script Options]</div>")
    $("body").append("<div class='optionsmenu' style='display:none; position:fixed; right:10%; top:5%; width:200px; height:300px; background:grey; padding:5px;'></div>")
    $(document).on('click', ".optionslink", function() {
        $(".optionsmenu").css("display","inline");
        $('.optionslink').html("[Close Script Options]");
        $('.optionslink').attr('class', 'optionslinkclose');
        show_quick_reply();
    });
    $(document).on('click', ".optionslinkclose", function() {
        $(".optionsmenu").css("display","none");
        $('.optionslinkclose').html("[Script Options]");
        $('.optionslinkclose').attr('class', 'optionslink');
    });
};


//linkimg
function linkimg(){
    $('a[href$=".png"][rel="nofollow"], a[href$=".jpg"][rel="nofollow"], a[href$=".gif"][rel="nofollow"]').each(function(){
        $(this).replaceWith('<div class="linkedimg2" style="width:100px;display:inline-block;"><img class="linkedimg2" style="max-width: 100%;" src="' + $(this).attr('href') + '" /></div>');
    });
    
    $(document).on('click', ".linkedimg2", function() {
        $(this).css('width', 'auto');
        $(this).attr('class', 'clicked');
    });
    
    $(document).on('click', ".clicked", function() {
        $(this).css('width', '100px');
        $(this).attr('class', 'linkedimg2');
    });
    
};

//Linkimg Option
if (Configs["linkimgopt"] == "ON") {linkimg();};

$(".optionsmenu").append("<div class='linkimg' style='cursor: pointer; cursor: hand; width:auto;'>Links to Images [" + Configs["linkimgopt"] + "]</div>");
$(document).on('click', ".linkimg", function() {
    imgchange = Configs["linkimgopt"];
    if ( imgchange === "ON") {imgchange = "OFF";} else {imgchange = "ON";};    
    Configs["linkimgopt"] = imgchange;
    $('.linkimg').html("Links to Images [" + Configs["linkimgopt"] + "]");
    save();
});



$('.menu').append("<center><font size='30'><a style='text-decoration: none' class='QR'><img style='cursor: pointer; cursor: hand;' src='http://i.imgur.com/f8L6S1O.png'></a><a style='text-decoration:none;display:none;cursor: pointer; cursor: hand;' class='QR2'>X</a><br>");
$('body').on('click', '.QR', function() {
    $('.close-btn').click();
    $('.postboxy').after("<div class='dummytext' style='height:301px;'></div>");
    $('.postboxy').css({"background-color":"#D1D1D1", position:"fixed", bottom:"10%", right:"calc(10% + 49px)"});    
    $(".QR").css("display","none");
    $(".QR2").css("display","inline");
    
});
$('body').on('click', '.QR2', function() {
    $( ".dummytext" ).remove();
    $('.postboxy').css({"background-color":"", position:"", bottom:"", right:""});    
    $(".QR").css("display","inline");
    $(".QR2").css("display","none");
});

//smaller functions

$(".optionsmenu").append("<div class='antiflood' style='cursor: pointer; cursor: hand; width:auto;'>Anti Flood [" + Configs["antiflood"] + "]</div>");
$(document).on('click', ".antiflood", function() {
    floodchange = Configs["antiflood"];
    if ( floodchange === "ON") {floodchange = "OFF";} else {floodchange = "ON";};    
    Configs["antiflood"] = floodchange;
    $('.antiflood').html("Anti Flood [" + Configs["antiflood"] + "]");
    save();
});

//in-line reply


//autonoko
if (Configs["noko"] == "ON") {
    function noko(){
        document.getElementsByName("email", "input")[0].value = "noko";
    };
    
    
};