Šumaváci, pozor! Aneb Jak umožnit komentátorům snadno vkládat Hovadně Dlouhé Odkazy
Protože Jdem.cz nabízí API, tak není problém udělat si jednoduchý AJAXový nástroj pro vkládání dlouhých odkazů do komentářů. Vidíte to třeba u tohodle článku dole. Princip je jednoduchý...
Uživatel klikne, objeví se mu dialog pro vložení dlouhého odkazu, po odeslání předá JavaScriptový kód tento odkaz PHP skriptu na serveru. PHP skript si od jdem.cz vyžádá zkratku a vrátí jeho adresu. javaScript ji na klientské straně přidá do textarea / inputu.
Zdrojové kódy dám na Jdem.cz, ale předtím si povíme, jak udělat takovéhle zkracovátko pro blogy na Bloguje. A napíšu to jako návod pro Šumaváka, poněvadž právě Šumavák má komentátory, co vkládají dlouhé odkazy. Takže tedy, Šumaváku:
V administraci si vyberte Vzhled a Úpravu šablony. Někam do hlavičky HTML kódu, třeba před značku </head>, dejte tohle:
<ItemOnly><script type="text/javascript" src="http://bloguje.cz/jdemcz.js"></script></ItemOnly>
Pak najděte v té HTML šabloně formulář pro vkládání komentáře a někam za </textarea> vložte toto:
<script type="text/javascript">jdemczInput("Vložit odkaz do komentáře","textcmt");</script>
(Samosebou lze text změnit).
Ti co mají textarea vlastní si musí přidat atribut ID, popřípadě, pokud jejich textarea atribut ID už má, musí odpovídajícím způsobem změnit volání jdemczInput – přepsat "textcmt" na jejich ID.
Uživatelům se u formuláře objeví "Vložit odkaz do komentáře", a když na něj kliknou, stane se to co píšu výše: Objeví se formulář pro vložení adresy, tam tu adresu vloží, jdem.cz si ji přechroupá, vytvoří zkratku – a tu zkratku vloží skript do okénka pro text komentáře. Prosté, jednoduché, elegantní – a vůbec...
Funkci možno vyzkoušet zde u mne v komentářích.
Dne 25.01.2008
Přidej do: Stumble It!
[1] (Hekko [openID] - Mail - WWW) 25.01.2008, 22:17:37 [X] [D]
Jaký hovadsky dlouhý odkazy v komentářích? Bloguje hovadsky dlouhý komentáře zkracuje. Fakt, že je přitom vidět, kam ten odkaz směřuje, beru jako plus ;)
Nerada ti kazím radost z dobře vykonané práce, ale... :)
[2] (Trupik - WWW) 25.01.2008, 22:18:37 [X] [D]
Funkce je to chytrá, ale jako čtenáři se mi moc nelíbí. Aspoň ne pro všechny odkazy - takhle vůbec nepoznám, kam odkaz vede, dokud na odkaz nekliknu. Proč aspoň krátké odkazy nevkládají normálně?
[3] (Tomik - Mail - WWW) 25.01.2008, 22:21:47 [X] [D]
- Sím, mě to nefunguje paní učitelko.
- To bude tím blbým Firefoxem.
- No jo no.
[4] (Arthur Dent [openID] - Mail - WWW) 25.01.2008, 22:28:07 [X] [D]
[3] To asi těžko, bo na FF to bylo odladěno.
[1] Ale to ti nikdo neupírá, já si jen pamatuju, že byly nějaké problémy s Opravdu Dlouhými A Zmatenými Odkazy
[5] (Hekko [openID] - Mail - WWW) 25.01.2008, 22:31:20 [X] [D]
[4] O tom já nic nevím :(
[6] (Gringo ) 25.01.2008, 22:46:55 [X] [D]
[4] Sím, mě to taky na Firefoxu nefunguje.
[7] (lummox ) 25.01.2008, 23:32:52 [X] [D]
Mně to ve Firefoxu taky nefunguje. Funguje to až když změním typ XMLHttpRequestu ze synchronního na asynchronní.
[8] (Arthur Dent [openID] - Mail - WWW) 25.01.2008, 23:32:51 [X] [D]
[6], [3] Už je to lepší?
[9] (lummox ) 25.01.2008, 23:43:14 [X] [D]
Vypadá to, že ve Firefoxu se u synchronních XMLHttpRequestů nevolá funkce onreadystatechange - pokud tedy nemáš nainstalovaný Firebug, pak se z nějakého důvodu volá. (Nebo pokud nemáš betu Firefoxu 3.) Viz https://bugzilla.mozilla.org...2112
[10] (Tomik - Mail - WWW) 25.01.2008, 23:48:33 [X] [D]
[8] Bohužel stále nic. Ani F5 nepomáhá.
[11] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 07:12:38 [X] [D]
[9][7] Změnil jsem typ requestu na asynchronní, tak su zvědavé. Jinak: Firebugem to není. Včera mi to na pracovním PC fungovalo, na PC s Linuxem, kde koukám na filmy, ne. První co jsem udělal bylo to, že jsem si tam nainstaloval Firebug, výsledek stále stejný...
[12] (karf - Mail - WWW) 26.01.2008, 09:13:58 [X] [D]
[11] Já teda nejsem uživatel bloguje, ale jen ze zvědavosti: jaký vůbec může existovat důvod k použítí synchronního requestu? Co vím, tak je to v 99 % případů cesta do pekel.
Jinak jako uživateli se mi taky moc nelíbí, že nevidím skutečnou adresu, ale jen jakousi kamufláž.
[13] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 10:54:35 [X] [D]
[12] To už se tu řešilo, takže shrnu:
1. Někdy je každý znak dobrý (posílám odkaz SMSkou, píšu ho do mikroblogu, diktuju po telefonu...)
2. Některé RS (Bloguje už tedy ne, ale některé stále ano) dlouhé URL nezkrátí a buď jim "přeteče" mimo layout (diskuse na některých fórech jsou zářným příkladem) nebo ho rozlámou na víc řádků a člověk pak musí copypastit a skládat adresu do původní podoby
3. Když ho vložím do mailu, tak leckdy přijde adresátovi URL na několik řádků a pak se diví, že odkaz nefunguje.
Typickým příkladem dlouhých URL jsou mapy nebo třeba vyhledávání trasy via Michelin.
Proti tomu stojí výhrada: Nevidím skutečnou adresu.
Vaši výhradu chápu. Teď prosím vy srovnejte, jestli je rychlejší říct kolegovi: "Dej si viamichelin, zadej odjezd z Budějovic, cíl v Mnichově, nastav si parametry takatak...", nebo mu nadiktovat:
www.viamichelin.com/viamichelin/int/dyn/controller/Itineraires?options=1&strStartMerged=&strStartAddress=Ceske%20Budejovice&strStartCityCountry=1694&strDestMerged=&strDestAddress=Munich&strDestCityCountry=240
nebo mu nadiktovat: jdem.cz/aatf0
Je pravda, že z toho druhého odkazu není vidět, že to je přes ViaMichelin. Ovšem do fóra mohu tu adresu napsat jako jdem.cz/aatf0/viamichelin.com - a je vidět kam to vede.
Jaké že jsou ty další nevýhody?
[14] (dgx - WWW) 26.01.2008, 11:33:19 [X] [D]
Tedy nechci do toho nějak kecat, jo, ale právě tohle využití jdem.cz považuju za velmi nešťastné, možná by se dalo říci kurevsky nešťastné. Má tohle fórum problém se velmi dlouhými odkazy? Tak oprav fórum.
[15] (monarcha - WWW) 26.01.2008, 11:40:02 [X] [D]
Možná by mohl skriptík jednoduše zkontrolovat, o jak dlouhou adresu se jedná, a v případě, že neobsahuje žádné parametry za ? vkládat adresu původní. Zkracovat např. http://www.google.com na http://jdem.cz/aarw0 mi přijde celkem nesmyslené.
[16] (monarcha - WWW) 26.01.2008, 11:43:07 [X] [D]
ehm:) došlo mi to hned po odeslání:)
[17] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 12:34:40 [X] [D]
[15] No... :)))
Mohl, ale proč by to dělal? Že tu možnost MŮŽETE použít neznamená přeci že ji MUSÍTE použít za každou cenu. Stačí trošku uvažovat a ne dělat věci mechanicky... :)
[18] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 12:40:21 [X] [D]
[14] Tohle fórum nemá problémy s dlouhými odkazy. Zkrátí je tak, že nechá jejich začátek a konec a doprostřed plácne tři tečky. Jediný problém, co s nimi je, je ten, když si dotyčný komentář vytiskneš, přepošleš, zkopíruješ... ;) V textu ti zůstane jen "www.viamichelin.com/vi...strDestAddress" - a ty si toho buď všimneš a včas si zkopíruješ adresu odkazu (znáš to... pravým tlačítkem, Kopírovat adresu odkazu... já vím že ty to znáš, ale znají to všichni?) - nebo si toho nevšimneš, uložíš / pošleš či cokoli s tím uděláš, a pak se tlučeš do hlavy, protože ti je ta adresa na pendrek a přemejšlíš, odkud sis to zkopíroval. A jak píšu kolegovi výš: Možnost tu je, neznamená to nutnost a je to na zdravém uvážení.
[19] (paranid ) 26.01.2008, 12:47:28 [X] [D]
[14] já bych byl taky rád, kdyby šly vkládat odkazy alespoň jako BB kód: [url=http://www.dlouhyodkaz.cz]popis[/url] a pak jdem.cz nebo jiná služba nebude pro tento účel potřeba
Jako čtenáři je mi ale úplně jedno, proč nefunguje ten odkaz v [13] nebo kdy bloguje bude mít nějaké formátování komentářů nebo alespoň nějaké tlačítko pro vkládání odkazů, které si bloguje vnitřně převede na html odkaz a v komentáři zůstane jen popis
[20] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 13:01:43 [X] [D]
To je tu zas rozumbradů po ránu... :)
Odkaz 13 nefunguje proto, že před ním nebylo ono magické HTTP://. Když to tam dám, dopadne to takto:
http://www.viamichelin.com...ry=240
A dál to je viz [18]...
[21] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 13:05:15 [X] [D]
[19] Jinak samosebou Bloguje možnost vkládání odkazů má, jak ví každý, kdo se o to pokusil. Na druhou stranu - jak odkaz vložený via BBcode vyřeší to, co jsem psal v [13] a [18]?
[22] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 13:09:37 [X] [D]
mailto: paranid
subject: Ten komentář s odkazem
Text: Ahoj Paranide, tady je ten komentář, zkopíroval jsem ho z Dentova zápisníku:
"Nasel jsem nejlepsi cestu, kudy v utery pojedem. Koukni:
...p://www.viamichelin.com...ry=240"
--- idea je jasná, ne? :)
[23] (paranid ) 26.01.2008, 14:01:50 [X] [D]
Já jsem pochopil, k čemu použít jdem.cz i vím, jak fungují odkazy viz [20] :-)
dgx ve [14] kritizuje (aspoň doufám, že dobře čtu), že odkazy viz [13] (zářný příklad jsou komentáře u d-fense) lezou za roh. Proto "blbé" odkazy vkládám pod WWW, protože NEVÍM (zkusím projít nápovědy), jak na bloguje vložit do komentáře odkaz v html značkách jako bych to udělal na normální web stránce. pokus
[21] Nepomůže to.
[22] Ano. :-)
[24] (Arthur Dent [openID] - Mail - WWW) 26.01.2008, 14:15:22 [X] [D]
[23] Ušetřím práci: Bloguje NEumožňuje vkládat odkaz jako "a href..." atd. Má to nějaké důvody, na které si teď už nevzpomínám, ale určitě tam padlo minimálně něco o BFU a o spambotech...
Jinak - pokud "dlouhé" odkazy lezou za roh a já chci vložit k D-Fensovi takový dlouhý odkaz (pomíjím, že jsem už několik let neměl touhu u něj do diskusí vůbec nahlížet), tak použiju jdem.cz a dám ho do textu komentáře, kam patří, místo toho abych ho cpal odkaz do pole, které je určené pro adresu MÝCH stránek. A to nemluvím o případech, kdy chci vložit DVA dlouhé odkazy ;)
Jojo, na Denta si kdekdo votevře hubu a řve "Oprav fórum", ale k D-Fensovi si to nedovolej! ;)
[25] (ringo ) 26.01.2008, 15:19:04 [X] [D]
citace:"Jojo, na Denta si kdekdo votevře hubu a řve "Oprav fórum", ale k D-Fensovi si to nedovolej! ;)"
Jo jo, všichni zneužívají tvé nekonečné dobroty a laskavosti ;).
[26] (karf - Mail - WWW) 26.01.2008, 16:51:52 [X] [D]
[13] Děkuji za vysvětlení, já proti tomu nechtěl nijak vystupovat, popsané výhody chápu. Napsal jsem to jen jako dovětek mého komentáře, který se týkal spíš toho synchronního requestu. BTW: teď mě napadlo - pokud to má být uživatelsky co nejpřívětivější, pouvažoval bych, zda z toho generovaného URL nevyloučit znaky 0 a O.
[27] (Šumavák ) 26.01.2008, 17:08:20 [X] [D]
Šumaváci zaregistrovali, Někteří dokonce i jmenovitě poděkovali autorovi, ale spamový filtr něco ze slov "jdem.cz", nebo "Malý" vyhodnotil jako spam.... :-))))
Jinak zatím úspěšně využíváme fce nabídnuté Bloguje.cz ( viz [1]) akorát jeden, zřejmě nepoučitelný architekt, používá Tiny.
A v každém případě dík! a doufám že tady to projde.....:-)
[28] (Šumavák - WWW) 26.01.2008, 17:28:21 [X] [D]
Ještě něco: o [19] - doporučuji nahlédnout do nápovědy a zkusit využít fce nabízené systémem Bloguje.cz. Tam je jich.....
Včetně formátování komentářů.
Nebo ke mně, tam to snad pochopí každý.
[29] (R2r - Mail ) 26.01.2008, 20:18:39 [X] [D]
a co třeba zrovna u zkracování komentářů na bloguje nacpat do titulku toho odkazu kam skutečně vede? Bude pak krátký, ale pořád bude možnost zjistit, kam vede. Takovej nápad
[30] (rony [openID] - Mail - WWW) 26.01.2008, 23:08:46 [X] [D]
sposob ako kratky odkaz spravit cez jdem.cz dlhsi :-)))
http://jdem.cz/aaue0
[31] (Hekko [openID] - Mail - WWW) 27.01.2008, 00:32:38 [X] [D]
[25] To ale dělají blbě, protože Arthur vám už na Bloguje nic opravovat nebude ;)
[29] Já to teda vidím ve stavovým řádku po najetí myší, takže mě to zase tolik nevzrušovalo.
[32] (danaketh - Mail - WWW) 27.01.2008, 20:09:40 [X] [D]
Hlásím, že Iceweasel v Debianu pobral bez obtíží a script funguje :)
[33] (otaznik [openID] - WWW) 28.01.2008, 10:24:54 [X] [D]
http://jdem.cz/aavf1
[34] (Test - Mail - WWW) 28.01.2008, 11:35:39 [X] [D]
Spíše tohle: http://jdem.cz/aavm3
[35] (Arthur Dent [openID] - Mail - WWW) 28.01.2008, 11:50:52 [X] [D]
[33], [34]:
http://jdem.cz/aavf1?kam
http://jdem.cz/aavm3?kam
Znáte...?
[36] (Arthur Dent [openID] - Mail - WWW) 28.01.2008, 12:11:21 [X] [D]
[29] Ano, přesně to mne napadlo a přesně to jsem i udělal... :)
[37] (gale ) 28.01.2008, 14:53:24 [X] [D]
a co problem s neznamou adresou vyresit tak ze by v odkazu byla originalni adresa uvedena v TITLE. a pri najeti mysi by se puvodni adresa zobrazila ve zlutem boxu...
mimochodem, testoval jsem zda jde u tagu "a" vubec pouzit title. explorer to sezere ale ve firefoxu jsem musel dat za title jeste mezeru (napr. title="Abc"_>) aby to fungovalo, zajimave...
[38] (Arthur Dent [openID] - Mail - WWW) 28.01.2008, 14:57:28 [X] [D]
[37] i tak by šlo... ale ne na Bloguje. API od Jdem.cz je otevřené když by někdo tu potřebu měl, může si implementovat...
[39] (otaznik [openID] - WWW) 28.01.2008, 20:31:05 [X] [D]
[35] hezké, to vědět předtím než jsem si zahlasoval =/
[40] (Bruinee ) 29.01.2008, 08:48:57 [X] [D]
Ja se teda vetsinou podle adresy rozhodnu, zdali na dany odkaz kliknu, nebo ne. Pokud mi nekdo posle http://jdem.cz/aavm3?kam, tak opravdu nemam sebemensi duvod na to kliknout. Leda, ze by pripojil radny pruvodni text, co tam najdu.
© Martin Malý (aka Arthur Dent) | Design by © 2007 ASH721 | HOSTING 3000GB+unlimited domains za 6 dolarů