SSC Better like button

additional "Like button" without reload whole post

目前为 2017-06-01 提交的版本。查看 最新版本

// ==UserScript==
// @name  SSC Better like button
// @author el nino
// @namespace el nino
// @description additional "Like button" without reload whole post
// @include http://www.skyscrapercity.com/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// @version 1.1.1
// @grant none
// ==/UserScript==

var like_active = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEKSURBVDhPlZO9isJAFIVHc2dSCKv4Ij6VjZa+gC9gJbgILirapXFZLBSsgijI1tbCvoONP3tuvGK8DsEc+MLMPedMimRMWp9EbkhUle2L2OsjI9uHYms/rmE4AEdwBQdQF9tcnKvLjD3ODH7RScwRkcVgI6amLfi8zQxdc3Ku4THvnASfxzQMHnM1zMOcD1ioYR4WfEBHDfPQMXtra1iclfEO5z/nasmXwKanzHfoJWXWlCjEIFaBLOIfdKR+08raCoydCvrYbZGV2rNwSBmBtSqkWaNclrhf30QlBJeqyCzxgpLEsjXBhUEhSpUj/LavlyhLXaIAxS9mjLWM86lZLBZaQVCQrUfG/AMYwUqdQyMIkwAAAABJRU5ErkJggg==';
var like_inactive = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVDhPzVJLCgIxFOst5lA9i7jvf+kB3MigiAtBvcjcRcQjaDK00taqXRoI7/GStPN5ggghDKC01hql1Io9Z7MIJJ0aPYXOBsMT6iMnZldUGqUxhn2tn1EHEU8sxF4657zA6beW2ENk73yFptjLPzhAaz21hB7iG0x8Av6qpqGDMu3BthJ+Epk9arFMXIymuSa8F9TXps7gAMLbRtaMF5XhBAowHPJATmzeEbUdTqABxjEPkpjtqEXbd9DovV+nMPpNdziBAdy6AJefw0I8ASlV6Z8VbOPUAAAAAElFTkSuQmCC';

//Append like button

enableLike();

$(".better-like-active").click(function() {
    var postid = $(this).parent().data("postid");
    sendLike(postid);
    disableLike();
    
});

//Disable like buttons for 10 seconds
function disableLike(){
    $('.better-like-active').remove();
    setTimeout(enableLike,2000);
    
    $("<img>", {
        "src": "data:image/png;base64," + like_active,
        "class": "better-like-inactive", 
        "style": "display:inline;",
        "width": "16px", "height": "16px"})
        .appendTo(".dbtech-thanks-button-control");    
    
}

//Enable like buttons
function enableLike(){
    $('.better-like-inactive').remove();
    
    $("<img>", {
        "src": "data:image/png;base64," + like_active,
        "class": "better-like-active", 
        "style": "display:inline; cursor: pointer;",
        "width": "16px", "height": "16px"})
        .appendTo(".dbtech-thanks-button-control");    
}

//Sending like to server 
function sendLike(postid){
    $.ajax({
        type: "POST",
        url: "http://www.skyscrapercity.com/thanks.php",
        data: {
            "securitytoken": SECURITYTOKEN,
            "do": "ajax",
            "action": "entry",            
            "varname": "likes",
            "contenttype": "post",
            "p": postid
        }
    }).done(function(data) {
        var tagData = $(data),
            origData = data;
        data = {
            thanksEntries: {},
            colorOptions: {}
        };
        var singleVals = {
            0: 'entries',
            1: 'actions',
            2: 'error'
        };
        if (tagData.find('colorOption').length) {
            tagData.find('colorOption').each(function() {
                var tagData2 = $(this);
                if (typeof data.colorOptions[tagData2.attr('varname')] == 'undefined') {
                    data.colorOptions[tagData2.attr('varname')] = {};
                }
                data.colorOptions[tagData2.attr('varname')][tagData2.attr('numclicks')] = {
                    color: tagData2.text(),
                    settings: tagData2.attr('settings')
                };
            });
        }
        if (tagData.find('thanksEntry').length) {
            tagData.find('thanksEntry').each(function() {
                data.thanksEntries[$(this).text()] = $(this).attr('numclicks');
            });
        }
        for (var i in singleVals) {
            data[singleVals[i]] = '';
            if (tagData.find(singleVals[i]).length) {
                data[singleVals[i]] = tagData.find(singleVals[i]).text();
            } else if (singleVals[i] != 'error') {
                data['error'] = origData;
            }
        }
        if (data.error) {
            alert(data.error);
            console.error(timeStamp() + "AJAX Error: %s", data.error);
            return true;
        }
        $('#dbtech_thanks_entries_' + postid).html(data.entries);
        $('#dbtech_thanks_actions_' + postid).html(data.actions);
        
        /*
        if (typeof data.thanksEntries != 'undefined') {
            thanksOptions.thanksEntries[postid] = data.thanksEntries;
            switch (thanksOptions.contenttype) {
                case 'post':
                    _colourPost(postid);
                    _displayPost(postid);
                    break;
            }
        }
        if (data.colorOptions) {
            thanksOptions.colorOptions = data.colorOptions;
        }
        */
    });    
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址