Login to Website

Login dengan Facebook

 

Post Reply
Thread Tools
  #1  
Old 20th April 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default test spoiler + test script grease monkey

Spoiler for 1:
Spoiler for 2:
Spoiler for 3:
!!!!!!rfdgdgfdgdfghdf!!!!!!!!!!!!


  #2  
Old 20th April 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default


Last edited by midorinet; 2nd August 2011 at 11:17 PM.
  #3  
Old 20th April 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default

a// ==UserScript==
// @name kaskus spoiler alert
// @namespace http://userscripts.org/scripts/show/73498
// @description add a warning message when a spoiler contains hidden link
// @include http://www.kaskus.us/showthread.php*
// @include http://www.kaskus.us/showpost.php*
// @include http://www.kaskus.us/group.php*
// @include http://ceriwis.us/showthread.php*
// @include http://ceriwis.us/showpost.php*
// @include http://ceriwis.us/group.php*

// @version 1.13
// @author arifhn + midorinet
// ==/UserScript==

/**
*
* This program is free software: you can redistribute it and/or modify

function SafeHTML(S) {
return S.replace(/&/g, "&").
replace(/</g, "&lt;").replace(/>/g, "&gt;")
}

function get(p, c) {
var i, r = [], x = document.evaluate(p, c || document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
while ((i = x.iterateNext())) r.push(i);
return r;
}

function openSpoiler(evt) {
var obj;
var showHide = '';
var display = 'none';
if(this.value.substr(0, 4) == 'Show') {
showHide = 'Hide';
display = '';
}else {
showHide = 'Show';
display = 'none';
}

if(this.getAttribute('spoiler-id')) {
// button show
obj = document.getElementById(this.getAttribute('spoiler-id'));

obj.getElementsByTagName('div')[0].style.display = display;
obj.parentNode.getElementsByTagName('input')[0].value = showHide + ' All';
obj.parentNode.getElementsByTagName('input')[1].value = showHide;
}else {
obj = document.getElementById(this.getAttribute('tdpost-id'));
}

var spoilers = get('.//div[@style="margin: 5px 20px 20px;"]//div[@class="alt2"]', obj);
for(var i = 0; i < spoilers.length; ++i) {
var sp = spoilers[i];
sp.getElementsByTagName('div')[0].style.display = display;
sp.parentNode.getElementsByTagName('input')[0].value = showHide + ' All';
sp.parentNode.getElementsByTagName('input')[1].value = showHide;
}

if(this.getAttribute('tdpost-id') && display == 'none') { // btn 'hide all' clicked
var prnt = this.parentNode;
var objParent = this;
// dapetin spoiler paling atas
while(prnt != obj) { // loop sampai tdpost
if(prnt.id && prnt.id.substr(0, 7) == 'spoiler') {
objParent = prnt;
}
prnt = prnt.parentNode;
}
// scroll to spoiler plg atas
objParent.scrollIntoView(true);
window.scrollBy(0, -50);
}
}

function main() {
var allpost;
var locurl = window.location.href.substr(0, 30);
if(locurl == 'http://www.kaskus.us/group.php') {
allpost = get('.//div[contains(@id,"gmessage_text_")]');
}else {
allpost = get('.//td[contains(@id,"td_post_")]');
}
for(var i = 0; i < allpost.length; ++i) { //loop for each post
var tdpost = allpost[i];

// remove spoiler jebakan
//----------------------------
var links = get('.//a', tdpost);
for(var j = 0; j < links.length; ++j) { //loop for each link
var a = links[j];
var btn = get('.//input[@type="button" and @value="Show"]', a);
if(btn && btn.length > 0) { // kalau ada button 'Show' berarti spoiler jebakan
// move children element of the link to its parent node
var achildren = a.childNodes;
for(var k = 0; k < achildren.length; ++k) {
a.parentNode.insertBefore(achildren[k], a);
}
// change link title to another text
a.innerHTML = '&nbsp;&nbsp;Spoiler jebakan ngesot>> ' + SafeHTML(a.href);
a.style.color = 'red';
a.style.textDecoration = 'none';
btn[0].parentNode.appendChild(a);
}else {
// cek link jebakan
var patt=new RegExp("^\s*http:\/\/[^?\/]+", "i");
var title = patt.exec(a.innerHTML.trim());
/*
if(title) {
// kaskus obfuscate detik.com to detik..com, so we replace .. to .
title = title.toString().replace(/\.\./g, '.');
}
*/
var url = patt.exec(a.href);
if(title && url && title.toString() != url.toString()) { // kalo innerHTML starts with http dan gak sama dgn href
// buat info link jebakan
var info = document.createElement('span');
info.className = 'smallfont';
info.style.color = 'red';
info.innerHTML = '&nbsp;&nbsp;Link jebakan >> ' + a.href;
if(a.nextSibling) {
a.parentNode.insertBefore(info, a.nextSibling); // add info to page
}else {
a.parentNode.appendChild(info);
}

}
}
}
//----------------------------
// cek tiap spoiler dalam 1 post
//----------------------------
var spoilers = get('.//div[@style="margin: 5px 20px 20px;"]//div[@class="alt2"]', tdpost);
for(var j = 0; j < spoilers.length; ++j) {
var sp = spoilers[j];
// set spoiler id
sp.id = 'spoiler-' + tdpost.id + '-' + j;

// change event handler for spoiler button
var btnsp = sp.parentNode.getElementsByTagName('input')[0];
//btnsp.id = 'btnsp-' + sp.id;
btnsp.removeAttribute('onclick');
btnsp.setAttribute('spoiler-id', sp.id);
//btnsp.setAttribute('tdpost-id', tdpost.id);
btnsp.addEventListener('click', openSpoiler, true);

var btnspall = document.createElement('input');
btnspall.value = "Show All dude";
btnspall.type = 'button';
btnspall.title = 'Show/Hide all spoilers dude';
btnspall.style.margin = '2px';
btnspall.style.fontSize = '10px';//; margin: 0px; padding: 0px;';
btnspall.setAttribute('tdpost-id', tdpost.id);
//btnspall.setAttribute('parent-spoiler', parentSpoiler);
btnspall.addEventListener('click', openSpoiler, true);
btnsp.parentNode.insertBefore(btnspall, btnsp);

var infoMsg = '';
// cek jumlah gambar dalam spoiler
var imgs = get('.//img', sp);
if(imgs.length > 0) {
var maxSize = 0;
var idx = -1;
var totalGambar = 0;
for(var k = 0; k < imgs.length; ++k) {
if(imgs[k].src.indexOf('http://static.kaskus.us/images/smilies') == -1) { // ignore kaskus smiley
var size = imgs[k].width * imgs[k].height;
if(size > 2500) { //ignore icon < 50x50
if(maxSize < size) {
maxSize = size;
idx = k;
}
++totalGambar;
}
}
}
if(totalGambar > 0) {
infoMsg = totalGambar + ' gambar (max: ' + imgs[idx].width + 'x' + imgs[idx].height + ') ';
}
}
// cek jumlah inner spoiler
var innerSpoilers = get('.//div[@style="margin: 5px 20px 20px;"]//div[@class="alt2"]', sp);
if(innerSpoilers.length > 0) {
if(infoMsg.length > 0) {
infoMsg += ', ';
}
infoMsg += innerSpoilers.length + ' spoiler';
}
if(spoilers.length == 1) {
// hide btn 'show all' if there is only 1 spoiler
btnspall.style.display = 'none';
}

// tampilkan info
if(infoMsg.length > 0) {
var info = document.createElement('span');
info.className = 'smallfont';
info.style.color = 'darkblue';
info.innerHTML = 'Ada ' + infoMsg;
sp.parentNode.insertBefore(info, sp);
}
}
}
}

main();


ntar jdnya spt ini:



image host

Last edited by midorinet; 21st April 2011 at 01:41 AM.
  #4  
Old 21st April 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default

ceriwis juga jangan lupa
sama web hollywood gosip
Code:
http://www.thehollywoodgossip.com/
  #5  
Old 21st April 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default


Last edited by midorinet; 2nd August 2011 at 11:19 PM.
  #6  
Old 9th May 2011
vbeast's Avatar
vbeast
Member
 
Join Date: May 2011
Location: di ceriwis ∞
Posts: 54
Rep Power: 0
vbeast memiliki kawan yg banyakvbeast memiliki kawan yg banyakvbeast memiliki kawan yg banyak
Default

wow ada scriptnya..ane minta ya ndan
  #7  
Old 2nd August 2011
midorinet
Member
 
Join Date: Apr 2011
Posts: 78
Rep Power: 0
midorinet mempunyai hidup yang Normal
Default



Sponsored Links
Space available
Post Reply

« Previous Thread | Next Thread »



Switch to Mobile Mode

no new posts