[ noviKorisnik @ 29.03.2006. 11:13 ] @
Ovo je skripta koju sam napravio pre blizu godinu dana ... inspirisano postojećim zahtevima da se doda mogućnost brzog odgovaranja na temu na ES forumima, a nemogućnošću da ta opcija bude direktno ugrađena u kod foruma. Setih se da je -zombie- već uradio sličnu stvar za Odgovor s citatom, pa hajde ...

Bookmarklet je samo link u bookmarcima, favoritima, whatever, ali ne link na neki url, već link za izvršenje skriptice ... slično kao što se takvi linkovi mogu nalaziti i na samoj stranici, nešto poput <a href="javascript: alert ('hihihi');">hohoho</a> ;-)

Sam bookmarklet možete pronaći na blogu http://korisnik.blog.hr/ sa malo opširnijim tekstom na istu ovu temu. Isto možete učiniti i ovde preko priloženog fajla uz poruku.

Instalacija skripte, kao što je i opisano tamo - kopiranje lokacije s linka "[es] brzi odgovor" i dodavanje u bookmarkse.

Ograničenja: radi na FF i u Operi i verovatno većini drugih browsera, ali ne radi u IE i to samo zato što IE dozvoljava samo kratkim skriptama da budu bookmarkleti - pošto je ovo relativno komplikovana i zahtevna skripta, ne ide :-)
[ noviKorisnik @ 29.03.2006. 11:35 ] @
Ovo moram da vidim kako izgleda :-) - kompletan kod je u jednoj liniji ...
Code:
javascript:(function(){var a='www.elitesecurity.org';if(document.domain!=a){document.location.href='http://'+a;return;}if(document.location.href.indexOf('/tema/')<0)return;a='qr';var b=document.getElementById(a);if(b==null){b=document.createElement('form');b.setAttribute('style','text-align:center');b.setAttribute('method','post');b.setAttribute('action','poruka.php');b.setAttribute('id',a);var c=document.cookie.split('; ');var d=new Array();for(var e=0;e<c.length;e++){a=c[e].split('=');if(a.length>1&&a[0].indexOf('[')>-1){d[a[0].substring(a[0].indexOf('[')+1,a[0].indexOf(']')).toLowerCase()]=a[1];}}a=document.createElement('textarea');a.setAttribute('style','vertical-align:top');a.setAttribute('cols',40);a.setAttribute('rows',10);a.setAttribute('name','message');b.appendChild(a);a=document.createElement('input');a.setAttribute('type', 'hidden');a.setAttribute('value',d['username']);a.setAttribute('name','username');b.appendChild(a.cloneNode(true));a.setAttribute('value',d['password']);a.setAttribute('name','password');b.appendChild(a.cloneNode(true));a.setAttribute('value','Re: '+document.title.substr(6));a.setAttribute('name','subject');b.appendChild(a.cloneNode(true));a.setAttribute('value',document.getElementsByName('BoardID')[0].getAttribute('value'));a.setAttribute ('name','BoardID');b.appendChild(a.cloneNode(true));c=document.getElementsByName('TopicID');a.setAttribute('value',c[c.length-1].getAttribute('value'));a.setAttribute('name','TopicID');b.appendChild(a.cloneNode(true));a.setAttribute('value',1);a.setAttribute('name','posticon');b.appendChild(a.cloneNode(true));a.setAttribute('value','Posalji odgovor');a.setAttribute('name','Submit');a.setAttribute('type','submit');b.appendChild(a);a=document.anchors[1];while(!(a.nodeType==1&&a.nodeName.toLowerCase()=='br'))a=a.nextSibling;a.parentNode.insertBefore(b,a);}document.getElementById('qr').elements['message'].select();})();

Instalirajte skriptu, možete je testirati na ovoj stranici, da se ne zagađuje forum.

Izbrisaćemo posle testne poruke ... ostaju utisci, kritike i dalja diskusija.

Da nastavim o korišćenju skripte ...
- nakon instalacije, u bookmarcima stoji link "[es] brzi odgovor" ili kako ga već krstite
- klikom na link, ako ste na stranici teme,
odmah ispod poslednje poruke teme se pojavljuje formular za brzi odgovor

Formular ima samo textarea za pisanje odgovora i dugme za slanje - taman koliko je dovoljno :-)
[ AleksandarNS @ 29.03.2006. 14:15 ] @
test :)

hehe, radi odlično :)

[Ovu poruku je menjao AleksandarNS dana 29.03.2006. u 15:16 GMT+1]
[ AleksandarNS @ 29.03.2006. 14:19 ] @
ponovni test jedan, dva, tri
testing - 1,2,3
[ noviKorisnik @ 31.03.2006. 11:47 ] @
Hvala Sale.

Nešto mi je čudno što nije bilo više replika obzirom da je bio solidan broj pregleda ove teme (dobro - nije ovo MZ da se to meri hiljadama :-) ...

Samo da prijavim da sam se konačno setio da taj link može da se stavi u bookmarks toolbar i tako je praktično uvek dostupno dugme za brzi odgovor.

Ali nije taj link džaba ako se nalazite na nekom drugom sajtu - u tom slučaju klik na nj vodi na www.elitesecurity.org :-)
[ @ 31.03.2006. 13:15 ] @
Test.. ako vidite ovo, radi.
[ Gojko Vujovic @ 31.03.2006. 13:19 ] @
Opera:

Version 8.52
Build 7721
Platform Win32
System Windows XP

Poslao poruku pod pogrešnim username-om (+ umesto space), i nije mi refreshovao stranicu iako je poruka otišla.
[ noviKorisnik @ 31.03.2006. 13:32 ] @
Hm, zašto je prošla poruka Gosta sa serverske strane?
[ noviKorisnik @ 31.03.2006. 13:40 ] @
Aha, kapiram - izbaci razmake iz korisničkog imena i rešen problem :-) ... moraću da radim neko enkodiranje juzernejma da se to reši ...
[ Frane Marinković @ 31.03.2006. 13:44 ] @
ej, ljudi piše mi da nemam dozvolu za pisanje, napišem nešto preko toga i onda piše nemaš dozvolu za to s*****, koji je problem, daj papravite, a onda bi trebalo stavit, do linka odgovor na temu, samo klikneš i eto ti novi prozor, Gojko, ovo moraš da staviš nakon što popravite!!!
[ jablan @ 31.03.2006. 13:54 ] @
Citat:
noviKorisnik: moraću da radim neko enkodiranje juzernejma da se to reši ...

escape(d['username']) bi trebalo da reši problem
[ VRKY @ 31.03.2006. 14:21 ] @
Da i ja probam kako ovo izgleda :)
[ noviKorisnik @ 31.03.2006. 16:06 ] @
Kačim uz ovu poruku fajl gde se primenjuje decodeURI ... ako ne ide s tom funkcijom, probaću neku sledeću :-) - ionako ima 4 moguća kandidata, jedino je problem što nisam u stanju da testiram, već mora neko ko ima razmak u korisničkom imenu, ili domaća slova, ili specijalne karaktere, i tako dalje :-)

Onaj ko ima username od čistih alfanumerika može da uživa već sada - eto VRKY - lepo radi, zar ne ;-)

Eto Frane bi mogao da bude super tester - samo nemoj da se nerviraš ako ne proradi iz prve :-) ... dakle, nisi mogao da pošalješ poruku jer ti je skript pogrešno pokupio korisničko ime. Isto se desilo i Gojku par poruka iznad tvoje, jedino što je njegova poruka prošla zahvaljujući grešci sa serverske strane - to je izgleda sada ispravljeno, pa si zato dobio poruku koju bi dobio gost ako pokuša da pošalje poruku (ima pravo samo da čita).

Dakle, molim da se testira malo izmenjen skript koji kačim uz ovu poruku ...
[ VRKY @ 31.03.2006. 16:30 ] @
Da, dobro je samo da je još malo poradit na samom "dizajnu" :)
[ Br@nkoR @ 31.03.2006. 16:37 ] @
Test from IE
[ Br@nkoR @ 31.03.2006. 16:38 ] @
Cool radi. xe xe.
Uz male prepravke.
[ Frane Marinković @ 31.03.2006. 16:58 ] @
još ništa niste popravili, meni još daje grešku!
[ Br@nkoR @ 31.03.2006. 17:13 ] @
Hm, nisam napisao kako uraditi za IE. Pošto postoji gore navedeno ograničenje, može se iskoristiti fora da se kompletna skripta snimi kao eksterni fajl na HD ili neki server i napravi bookmarklet kojim će se taj fajl učitati u dokument(stranicu).
[ djricky @ 31.03.2006. 18:26 ] @
ajde i ja da probam
[ djricky @ 31.03.2006. 18:27 ] @
hmmm... cini se da radi! ;) BRAVO!



edit: pa i nije bas :( cekao sam jedno 3 minuta pa sam refreshovao stranu, i poruka je bila tu, ali...?
prva je otisla bez problema, refresh je usledio nakon 2-3 sekunde...

[Ovu poruku je menjao djricky dana 31.03.2006. u 19:30 GMT+1]
[ @ 31.03.2006. 18:41 ] @
lepo, lepo, mada kapiram da će i mene da zeza zbog blank-a u username-u.

Ali meni i dalje sasvim odgovara nova stranica za odgovor, tako da ću sad da zaključam i prebacim temu u Arhivu!

joke :)
[ noviKorisnik @ 03.04.2006. 13:00 ] @
Ta Milane, niste valjda da ste podesili da Gosti mogu da prebacuju u Arhivu? Neozbiljno :-)

... kvaka 712.4 ... zeza zbog glupog plusa u kolačiću, eto ;-)

[Ovu poruku je menjao noviKorisnik dana 03.04.2006. u 14:22 GMT+1]
[ noviKorisnik @ 03.04.2006. 13:13 ] @
kvaaaaak !

Evo, uz ovu poruku kačim verziju koja rešava i razmak i domaća slova (možda se nađe da je još nešto zaostalo, pa probaćemo i tome udovoljiti ;-)))

... Branko, drago mi je da si testirao na IE, jedino što mi se ne dopada takvo rešenje (a izgleda da je jedino moguće). Može da bude UNSAFE, izeš ga :-) Mada, ako bi se taj skript okačio negde na pouzdan hosting, mogli bi i IE korisnici da bezbrižno uživaju u brzom odgovaranju na ES :-D
[ Br@nkoR @ 03.04.2006. 15:52 ] @
Da upravu si što se tiče bezbednosti, mada je meni i ovako dovoljno, snimio sam skriptu na svoj hard disk i odatle je vučem, jer koristim IE.

Inače u bookmarkletu si mogao da iskoristiš i funkciju koja je ugrađena u kôd es-a kako bi čitao username i password.
npr.
Code:

var u = g('UserInfoCookie[UserName]');
var p = g('UserInfoCookie[Password]');
[ noviKorisnik @ 03.04.2006. 16:09 ] @
Ih, sad mi kažeš. Pola skripte je parsiranje kukija ;-) ... ali ovo je MOJA topla voda :-D
[ Br@nkoR @ 03.04.2006. 17:25 ] @
Javio se novi problem :( .
Dosad sam sve koristio svoju skriptu, jer tvoja je imala problema sa IE, i sada htedoh da probam iz Opere i nisam uspeo da pošaljem poruku, moje korisničo je tvoja skripta pročitala kao Br%40nkoR. Trebalo bi da ide:
Code:

unescape(d['username'])
[ Millee @ 13.10.2007. 16:58 ] @
Super radi !!!