- Registriert
- 26.10.05
- Beiträge
- 3.120
Ihr kennt vielleicht meinen Beitrag [thread=151782]AT-BookMarker - AppleScript für die Genervten[/thread] und vielleicht gefällt Euch das ja sogar.
Der Nachteil ist: Das läuft wirklich nur mit AppleScript.
Außerdem ist es nur für Apfeltalk geeignet.
Jetzt kommt er in einer neuen Dimension daher und zwar:
Leider ist die „Installation“, wenn man es denn so nennen möchte, etwas krude.
Bedienung:
Hier ist nun der Code:
Ausblick auf die nächste Version: Ich will noch Bookmarks generieren für „Meine Beiträge“ und „Meine Themen“. Ich bin für Vorschläge offen.
Der Nachteil ist: Das läuft wirklich nur mit AppleScript.
Außerdem ist es nur für Apfeltalk geeignet.
Jetzt kommt er in einer neuen Dimension daher und zwar:
- Für alle Browser (hoffentlich, getestet mit Safari und FireFox), die Favelets / Bookmarklets berherrschen
- Für all (hoffentlich) VBulletin basierende Foren
Leider ist die „Installation“, wenn man es denn so nennen möchte, etwas krude.
- Ein neues Lesezeichen im Lesezeichen-Manager anlegen.
- Einen Namen für das neue Lesezeichen wählen (Vorschlag: VBulletin Bookmark Helper).
- In das Adressfeld den JavaScript-Code (siehe unten) kopieren.
Bedienung:
- In einem VBulletin Forum (ApfelTalk z.B.) einloggen
- Die Suche aufrufen (Das Favelet weist darauf hin, wenn die Suche bei seinem Start nicht aufgerufen ist)
- wenn gewünscht, das Häkchen bei „Suche in Unterforen“ wegnehmen
- In dem „Suche in Foren“ Feld die Foren auswählen, die nicht durchsucht werden sollen
- Das Favelet aufrufen
- Eventuell aufpoppende Hinweise beachten
- Am Ende erscheint eine kleine Seite mit einem Link „Neue Beiträge“. Diesen Link zum Bookmark machen.
Hier ist nun der Code:
Code:
javascript:try{
var sf=document.getElementById('searchform');
var sfl= window.location.href.replace(/\/[^\/?]*(\?.*)?$/, "/search.php");
if ( ! sf ) {
if ( confirm("Das ist keine VBulletin Suchseite\n\nWeiter zur Suchseite?\n\n(Hinweise: Du mußt dies Favelet danach erneut aufrufen!)") ) {
window.location.href= sfl;
}
throw "";
}
var fc=sf.elements["forumchoice[]"];
if ( ! fc ) {
throw("Leider ist diese Seite nicht kompatibel.\n\nEs fehlt das searchform[] objekt.");
}
var p=fc;
while (p && p.nodeName != 'FIELDSET') {
p=p.parentNode;
}
if ( ! p ) {
throw("Leider ist diese Seite nicht kompatibel.\n\nEs fehlt ein fieldset.");
}
var l= p.getElementsByTagName('LEGEND')[0];
if ( ! l ) {
throw("Leider ist diese Seite nicht kompatibel.\n\nEs fehlt eine legend.");
}
var suchname= l.textContent;
var r= document.getElementById('cb_childforums');
if ( ! r ) {
throw("Leider ist diese Seite nicht kompatibel.\n\nEs fehlt eine checkbox.");
}
var rek= r.checked;
var sel= 0;
var changed= new Array();
var rek_level= false;
for (var i=1; ++i < fc.options.length;) {
if ( rek_level ) {
if ( fc.options[i].className > rek_level ) {
fc.options[i].selected= true;
++sel;
changed.push(fc.options[i]);
}
else {
rek_level= "";
}
}
else if ( fc.options[i].selected ) {
++sel;
if ( rek ) rek_level= fc.options[i].className;
}
}
if ( sel == 0) {
throw("Du hast nichts unter »"+suchname+"« ausgewählt!\n\nBitte wähle ein paar Foren aus und starte erneut.");
}
if ( changed.length ) {
if ( ! confirm("Es wurden Änderungen vorgenommen ("+changed.length+"), da die Unterforensuche aktiviert ist.\n\nIst diese Änderung in Ordnung?\n\n(Mit »Cancel« werden die Änderungen rückgängig gemacht)") ) {
for (var i=changed.length; i--;) {
changed[i].selected= false;
}
throw("Alle Änderungen zurückgenommen");
}
}
var exclude= new Array();
for (var i=1; ++i < fc.options.length;) {
if ( fc.options[i].selected ) {
exclude.push(fc.options[i].value);
}
}
with (document) {
open();
write("<html><body>");
write('<p><a href="' + sfl + '?do=getnew&exclude=' + exclude.join(',') + '">Neue Beiträge</a>');
write(' in allen Foren von ' + window.location.host + ' mit Ausnahme von:</p>');
write('<ul>');
for (var i=1; ++i < fc.options.length;) {
if ( fc.options[i].selected ) {
write('<li>' + fc.options[i].text + "</li>");
}
}
write('</ul>');
write("</body></html>");
close();
}
} catch(txt) {
if (txt != "" ) alert(txt);
}