11.12.2009, 23:26
So, da ich ja jetzt ein neues Spielzeug namens Userscript gefunden habe, habe ich natürlich auch ein wenig erstellt. Die Erweiterungen werden wahrscheinlich immer erst für Opera erscheinen und danach für Firefox, da ich eben mit Opera entwickle und dann auf Firefox portiere.
PN-Bildwechsler
So siehts aus
Opera-Userscript
Firefox-Greasemonkeyskript
Shoutbox
Da würde ich mich freuen, wenn ich nicht der einzige bin. ^^ Sonst wär die SB ziemlich doof.
So siehts aus
Wenn du die SB lieber rechts haben möchtest, dann ändere einfach so um:
body.style.marginLeft = '172px';
in
body.style.marginRight = '172px';
und
shoutboxDIV.style.left = '0px';
in diese um
shoutboxDIV.style.right = '0px';
Fehlerkorrektur
In Arcade Gold werden einige Shoutboxen generiert, die keiner haben will. Ich habe das im Skript korrigiert. Aber das könnte noch auf anderen Seiten passieren. Danke Mustrum.
Der NAchteil der aktuellen Lösung ist, dass Arcade Gold somit keine Shoutbox mehr hat, sobald man etwas bestimmtes damit machen möchte. Das wird aber definitiv noch korrigiert. Ich muss nur die Links sammeln.
Opera
Firefox-Greasemonkeyskirpt
PN-Bildwechsler
So siehts aus
Opera-Userscript
Code:
// ==UserScript==
// @include http://cgboard.raysworld.ch/*
// ==/UserScript==
window.addEventListener("load", cgboardPn, false);
function cgboardPn() {
var elements = document.getElementsByTagName('span');
for ( var i = elements.length - 1; i >= 0; i--) {
if (elements[i].hasChildNodes()) {
for ( var j = 0; j < elements[i].childNodes.length; j++) {
if (elements[i].childNodes[j].nodeValue != null
&& elements[i].childNodes[j].nodeValue.substr(0, 3) == 'Sie') {
var expression = /([0-9]{1,9}) ungelesen/;
expression.exec(elements[i].childNodes[j].nodeValue);
var messages = parseInt(RegExp.$1);
if (messages > 0) {
var images = document.getElementsByTagName('img');
for ( var k = 0; k < images.length; k++) {
if (images[k].getAttribute('src') == '/images/top_pms.gif') {
images[k]
.setAttribute('src',
'http://img697.imageshack.us/img697/6775/pnboxfull.png');
break;
}
}
}
break;
}
}
}
}
}
Firefox-Greasemonkeyskript
Code:
// ==UserScript==
// @name NewMessages
// @namespace http://cgboard.raysworld.ch
// @include http://cgboard.raysworld.ch/*
// ==/UserScript==
(function() {
window.addEventListener("load", cgboardPn, false);
//
function cgboardPn() {
var elements = document.getElementsByTagName('span');
for ( var i = elements.length - 1; i >= 0; i--) {
if (elements[i].hasChildNodes()) {
for ( var j = 0; j < elements[i].childNodes.length; j++) {
if (elements[i].childNodes[j].nodeValue != null
&& elements[i].childNodes[j].nodeValue.substr(0, 3) == 'Sie') {
var expression = /([0-9]{1,9}) ungelesen/;
expression.exec(elements[i].childNodes[j].nodeValue);
var messages = parseInt(RegExp.$1);
if (messages > 0) {
var images = document.getElementsByTagName('img');
for ( var k = 0; k < images.length; k++) {
if (images[k].getAttribute('src') == '/images/top_pms.gif') {
images[k]
.setAttribute('src',
'http://img697.imageshack.us/img697/6775/pnboxfull.png');
break;
}
}
}
break;
}
}
}
}
}
})();
Shoutbox
Da würde ich mich freuen, wenn ich nicht der einzige bin. ^^ Sonst wär die SB ziemlich doof.
So siehts aus
Wenn du die SB lieber rechts haben möchtest, dann ändere einfach so um:
body.style.marginLeft = '172px';
in
body.style.marginRight = '172px';
und
shoutboxDIV.style.left = '0px';
in diese um
shoutboxDIV.style.right = '0px';
Fehlerkorrektur
In Arcade Gold werden einige Shoutboxen generiert, die keiner haben will. Ich habe das im Skript korrigiert. Aber das könnte noch auf anderen Seiten passieren. Danke Mustrum.
Der NAchteil der aktuellen Lösung ist, dass Arcade Gold somit keine Shoutbox mehr hat, sobald man etwas bestimmtes damit machen möchte. Das wird aber definitiv noch korrigiert. Ich muss nur die Links sammeln.
Opera
Code:
// ==UserScript==
// @include http://cgboard.raysworld.ch/*
// @exclude http://cgboard.raysworld.ch/arcade_gold.php?*
// ==/UserScript==
window.addEventListener("load", cgboardShoutbox, false);
function cgboardShoutbox() {
var body = document.getElementsByTagName('body')[0];
body.style.marginLeft = '172px';
var shoutboxDIV = document.createElement('div');
shoutboxDIV.style.position = 'fixed';
shoutboxDIV.style.left = '0px';
shoutboxDIV.style.top = '0px';
var shoutboxIFRAME = document.createElement('iframe');
shoutboxDIV.appendChild(shoutboxIFRAME);
shoutboxIFRAME.setAttribute('name', 'speechbox');
shoutboxIFRAME.setAttribute('src', 'http://28511.speechbox.de');
shoutboxIFRAME.style.border = '1px solid #000000';
shoutboxIFRAME.style.width = '170px';
shoutboxIFRAME.style.height = window.innerHeight + 'px';
body.appendChild(shoutboxDIV);
}
Firefox-Greasemonkeyskirpt
Code:
// ==UserScript==
// @name Shoutbox
// @namespace http://cgboard.raysworld.ch
// @include http://cgboard.raysworld.ch/*
// @exclude http://cgboard.raysworld.ch/arcade_gold.php?*
// ==/UserScript==
(function() {
window.addEventListener("load", cgboardShoutbox, false);
function cgboardShoutbox() {
var body = document.getElementsByTagName('body')[0];
body.style.marginLeft = '172px';
var shoutboxDIV = document.createElement('div');
shoutboxDIV.style.position = 'fixed';
shoutboxDIV.style.left = '0px';
shoutboxDIV.style.top = '0px';
var shoutboxIFRAME = document.createElement('iframe');
shoutboxDIV.appendChild(shoutboxIFRAME);
shoutboxIFRAME.setAttribute('name', 'speechbox');
shoutboxIFRAME.setAttribute('src', 'http://28511.speechbox.de');
shoutboxIFRAME.style.border = '1px solid #000000';
shoutboxIFRAME.style.width = '170px';
shoutboxIFRAME.style.height = window.innerHeight + 'px';
body.appendChild(shoutboxDIV);
}
})();