Nyaa Helper

文章列表:自動高亮下載超過800的文 內文:自動開啟第一個連結

Version au 18/09/2018. Voir la dernière version.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         Nyaa Helper
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  文章列表:自動高亮下載超過800的文  內文:自動開啟第一個連結
// @author       Yich
// @include        https://sukebei.nyaa.si/*
// @grant          GM_openInTab
// @grant       GM_addStyle
// @grant       GM_getResourceText
//@require https://code.jquery.com/jquery-3.3.1.min.js
//@require https://cdnjs.cloudflare.com/ajax/libs/jquery.sticky/1.0.4/jquery.sticky.min.js
//@run-at  document-end
// ==/UserScript==

//====================文章列表=============================
if( !UrlContains("view")){
    var articles = $(".table-responsive table tr");
    var DownloadCount = 100;//defaultDownloadcount的預設值
    $('.navbar-collapse').append("<div id=\"stickyMenu\"></div>");


    //下載數量若超過此值,就標上success的class
     $("#stickyMenu").append("<ul class=\"nav navbar-nav\" style=\"margin-top:10px;margin-right:5px;\">  \
                         <input type=\"number\" id=\"defaultDownloadcount\" value="+ DownloadCount +" placeholder=\"高亮指定下載數\" /></ul>");
    document.getElementById ("defaultDownloadcount").addEventListener("input",  function(){
        HighLightArticle(articles,this.value);
    }, false);



    HighLightArticle(articles,$("#defaultDownloadcount").val());

    //加入按鈕
    $("#stickyMenu").append("<ul class=\"nav navbar-nav\" style=\"margin-top:7px\"><li><button type=\"button\"  id=\"btnOpenAll\" class=\"btn btn-success\">開啟高亮文章</button></li></ul>");
    document.getElementById ("btnOpenAll").addEventListener ("click", OpenArticles, false);
    //將stickyMenu置頂
         $("#stickyMenu").sticky({topSpacing:0,zIndex:9999});

}
    //將瀏覽數超過指定數量的文章標上success
function HighLightArticle(articles,DownLoadCount){
        //移除所有class
    articles.removeClass();
    articles.each(function() {
        var currentDownloadCount = $(this).find('td:last').html();
        if(parseInt(currentDownloadCount) >= parseInt(DownLoadCount)){
             $(this).addClass("success").addClass("OverBrowseCount");
        }
    });
}
//開啟超過指定瀏覽數的文章
function OpenArticles(){
    $(".OverBrowseCount").each(function() {
        var url = "https://"+window.location.hostname + $(this).find("td:eq(1)>a").attr("href");
        console.log(url);
        GM_openInTab( url, true );
    });
}
//====================文章內文=============================
if(UrlContains("view")){
        //取得description區塊的html
        var html = $("#torrent-description").html();
        var rawHtml = decodeEntities(html);
        //找出區塊裡的連結
        var reg = /((?:\w+):\/\/([\w@][\w.:@-]+)\/?[\w\.?=%&=\-@\/$,]*)/g;
        var url;
        while (url = reg.exec(rawHtml)) {
            if(!url[1].includes('offkab')){
                //彈出視窗
                GM_openInTab( url[1], true );
                break;
            }
        }

}

//=======================utility======================

function UrlContains(urlfragment){
	return document.URL.indexOf(urlfragment) != -1;
}

//url decode
function decodeEntities(encodedString) {
    var textArea = document.createElement('textarea');
    textArea.innerHTML = encodedString;
    return textArea.value;
}