WordCoundExpander

try to take over the world!

Tính đến 13-06-2018. Xem phiên bản mới nhất.

// ==UserScript==
// @name         WordCoundExpander
// @namespace    https://greasyfork.org/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://floflo.moe/book-list/
// @grant        none
// ==/UserScript==

let cookiename = "floflowordcountexpander";
let refreshrate = 1;

function createCookie(name, value, min) {
    var expires;

    if (min) {
        var date = new Date();
        date.setTime(date.getTime() + (min * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    } else {
        expires = "";
    }
    document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = encodeURIComponent(name) + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0)
            return decodeURIComponent(c.substring(nameEQ.length, c.length));
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function setReadingVals(array,target) {
  var val = array[1]+"/"+array[2]+" ("+array[0]+")";
  target.html(val);
}

function loadAndMakeCookie(callback){
    var newcookie = {};
    let mycookie = readCookie(cookiename);
    if (mycookie != null){
      alert(mycookie);
    }
    jQuery(".elementor-post__card").each(function(){
        var div = jQuery("<div>");
        var target = jQuery(this).find(".elementor-post__badge");
        var url = jQuery(this).find(".elementor-post__thumbnail__link").attr("href");
        if (mycookie == null){
         div.load(url+" .unfortunate_soul",function() {
           var tbl = div.find(".unfortunate_soul").html();
            jQuery.getJSON(my_personal_script_data.abcd+"?action=summon_table&tbl="+tbl,function(data){
              var alldat = jQuery(data).find(".vocab_count_info_wrap");
              var array = [];
              alldat.each(function(){
                array.push(jQuery(this).find(".vocab_count_info.vocab_counts_right").html());
              });
              setReadingVals(array,target);
              newcookie[tbl] = array;
            });
         });
        }
          else {
            //TODO: we have cache
         }
    });
    console.log(newcookie);
    callback(newcookie);
}

(function() {
    'use strict';

    loadAndMakeCookie(function(cook) {
        console.log(cook);
        createCookie(cookiename,cook,refreshrate);
    });
})();