NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Kaskus TS Tagger
// @namespace https://github.com/zackad
// @version 0.7.4
// @description Give TS kaskus a Tag
// @grant GM_addStyle
// @include https://m.kaskus.co.id/*
// @include https://fjb.m.kaskus.co.id/*
// @include /^https?://(www|fjb).kaskus.co.id/(thread|lastpost|post|show_post|product|group/discussion)/*/
// @require http://code.jquery.com/jquery-1.10.1.min.js
// @license MIT; https://github.com/zackad/kaskus-script/blob/master/LICENSE
// @copyright 2015-2017, zackad
// ==/UserScript==
/*
CHANGELOG
V0.7.4
- licence type and url
- change namespace
v0.7.3
- patch border to prevent content overflow
v0.7.2
- patch include url
- patch ajax url
- copyright update
- cleanup
v0.7.1
- cleanup
v0.7
- change version number to trigger auto-update
v0.6
- put into css instead of inline text
v0.5
- [bug] image not load
v0.4
- fjb support
v0.3
- tag color [thanks : ahmad13]
*/
$(document).ready(function(){
var DEBUG = 0;
var tID = $('#thread_id');
tID = tID.attr('value');
// style edit sesuai selera
var globalStyle = ''
+'<style type="text/css">'
+'.thread-starter {background-color:black; color:white!important; border: sandybrown !important;}'
+'.thread-starter .fn, .thread-starter .permalink {color:white!important}'
+'.thread-starter-desk .postlist {border:1px solid sandybrown!important;}'
+'.thread-starter-desk .entry-head {background-color:darkorange!important;}'
+'.thread-starter-desk .entry-body {border-left:1px solid sandybrown!important;}'
+'.thread-starter-desk .entry-footer {border-top:1px solid sandybrown;}'
+'.ts:after{content: "[TS]"}'
+'</style>'
;
// silahkan edit sesuka ente
var mTS = '<span style="color:darkorange; font-weight:bold;" class="ts"></span>';
var dTS = '<span><b style="color:#F5981D;">Thread</b><b style="color:#1998ed;"> Starter</b></span>';
var juragan = '<span><b style="color:#1998ed;">Juragan</b></span>';
var tsContainer = ''
+'<div id="ts" class="ts" style="display:none;"></div>'
;
$('body').prepend(tsContainer);
$('head').append(globalStyle);
var host = window.location.host;
var ajaxURL;
if (isFJB()) {
ajaxURL = 'https://'+host+'/product/'+ tID;
} else {
ajaxURL = 'https://'+host+'/thread/'+ tID;
}
// let's call the ajax
if(window.location.href.indexOf('m.kaskus.co.id') > -1){
$.ajax({
url: ajaxURL,
dataType: 'html',
success: function(response){
$('.ts').html(jQuery(response).find('.usr .fn').html());
var a = $('.ts').text();
clog('ts =' + a);
var poster = $('.author .fn');
poster.each(function(){
var parent = $(this).parent().parent().parent();
var user = $(this);
if ($(this).text() == a) {
$(parent).addClass('thread-starter');
$(user).after(mTS);
}
});
if (poster == a) {
$('.author').addClass('thread-starter');
}
}
});
}
// desktop version
$.ajax({
url: ajaxURL,
dataType: 'html',
success: function(response){
if (isFJB()) {
$('.ts').html(jQuery(response).find('.seller-info .seller-detail-info .username a').html());
} else {
$('.ts').html(jQuery(response).find('.postlist .author .user-details .nickname').html());
}
var a = $('.ts').text();
clog('ts desktop ='+ a);
var poster = $('.postlist .author .user-details .nickname');
poster.each(function() {
var parent = $(this).parent().parent().parent().parent().parent();
var user = $(this);
var userDetail = $(this).parent().parent();
if (user.text() == a) {
$(parent).addClass('thread-starter-desk');
$(user).append(mTS);
clog(userDetail);
if (isFJB()) {
dTS = juragan;
}
$(userDetail).children('.user-info').before(dTS);
}
});
}
});
function isFJB() {
if (window.location.host == 'fjb.kaskus.co.id' || window.location.host == 'fjb.m.kaskus.co.id') {
return true;
} else {
return false;
}
}
function clog(x) {
if (!DEBUG) {
return;
}
console.log(x);
}
});