« 1 2 3 4 5 6 »
Autor Zpráva
Str4wberry
Profil
       JavaScript pro diskusi: 200820092010–2011
       — související: Úpravy diskuse, Oblíbená/sledovaná vlákna


Tak já začnu. Některé věci už zazněly.

0) Jak se dá zavřít to hledání zadaného titulku? :–)

1) Uvítal bych, kdyby se právě psaná odpověď (resp. její text) ukládal do sušenky. Při používání klávesových zkratek je velice lehké trefit Ctrl + W a zavřít si tak záložku. Ukládat by se to mohlo automaticky nebo třeba pomocí Ctrl + S. Obnovení by se potom mohlo samo nabídnout nebo mít takovou možnost v klávesové mapě.

2) Hodila by se možnost měnit rozměry <textarea>.

3) Stejně tak možnost nastavit šířku pro příspěvky v tématech.

4) Funkce náhledu při editaci příspěvku.

5) Dávám k úvaze, zda karty v poslední diskusi, řazení a stránkování neovládat JavaScriptem.
Chamurappi
Profil
Reaguji na Str4wberryho:
ad 0) Nijak. Můžeš zmáčknout R, načte se ti znovu stránka, bez hledátka a bez toho vyplněného titulku :-)

ad 1) „Při používání klávesových zkratek je velice lehké trefit Ctrl + W a zavřít si tak záložku.
Kupodivu jsem na to narazil teprve nedávno a naštvalo mě to tak vydatně, že jsem se rozhodl výchozí akci při Ctrl + W během psaní příspěvku zablokovat (pokud to půjde) a navíc nastavit v případě rozepsaného příspěvku barikádu v podobě onbeforeunload (podporuje už nová Opera tuto událost?).

Ukládání textu do sušenky se mi osobně moc nelíbí, poněvadž je to koule na noze vláčená s každým HTTP požadavkem, musí být malá a váže se na konkrétní počítač (jsem kočovný uživatel). Víc by se mi líbilo, kdybych si mohl odložit rozepsaný text kamsi do databáze, ale to by byl asi zbytečný luxus. Nebo ne?

ad 2 + 3) Je to v plánu.

ad 4) Je to nutné? Ocení to hlavně moderátoři — nejsme už moc rozmlsaní? :-)

ad 5) Uvažuji o tom. Ale dokud jsou ty karty jen dvě, nemám chuť.


Ale momentálně mám djpw.js celý rozvrtaný a nejdřív musím dovrtat to, co jsem (neuváženě) začal předělávat. Pokud úpravy nevzdám, budeme mít trochu hezčí náhledy označených akcí z klávesové mapy a možnost mít neomezené množství příspěvkových editorů ve stránce — což je ohromně lákavé.

Krom toho jsem si (a nejen si) řekl, že předělám horní menu. Jelikož s ním hodně souvisí (či bude souviset) JavaScript, chtěl bych se o něm bavit v tomto vlákně. Vyrobil jsem již v únoru malý polotovar. Varuji, že v Exploreru 6 se zatím sype a krom přepínání obrázků hvězdičky a očička, měnění šířky a přehazování pozice panelu tlačítky v patičce to nic neumí. Investoval jsem do něj jen chvíli práce, aby šlo tento směr vývoje bez nepříjemných pocitů zamítnout :-)
mckay
Profil
Chamurappi:
(podporuje už nová Opera tuto událost?).
Nevypadá to, že ano. Zkusil jsem, poslalo mě to na seznam, ale po hlášce ani vidu, ani slechu.
Str4wberry
Profil
Ad 1) No, mně ani tak nešlo o záměrné ukládání rozepsaných příspěvků, ale spíš o zálohu proti pádu prohlížeče, zavření si okna nebo zmáčknutí F5. Když sem píšu delší příspěvky, jejich obsah si během psaní kopíruji pro jistotu do schránky — myslím, že přesně to by nahradila ta sušenka. Nejde mi o to, že bychom si tím ukládali rozepsané příspěvky.

Ad 4) Samozřejmě záleží na náročnosti doplnění této funkce.

Vyrobil jsem již v únoru malý polotovar.
Mně se to dost líbí, přesně něco takového jsem si představoval. Určitě bych to nezamítal.
Trejpa
Profil
Moderátor Chamurappi: Přesunuto z Rychlá navigace v horním menu.

Chamurappi:
Pěkné. Snad by to nemuselo být přikované na vrchu stránky.
Chamurappi
Profil
Moderátor Chamurappi: Přesunuto z Rychlá navigace v horním menu.

Reaguji na Trejpu:
V patičce jsou tři tlačítka, která umožňují změnit pozici.
habendorf
Profil
Chamurappi:
Vyrobil jsem již v únoru malý polotovar.

Perfektní, líbí moc. Ještě dovychytat trochu blbnoucí změnu šířky a bude to bezva.
SwimX
Profil
Chamurappi:
malý polotovar
rozhodně nezahazoval. Velmi pěkná věc.

Jinak se připojuji, již několikrát jsem si při pokusu o klávesovou zkratku CTRL+E zmáčkl CTRL+W/R a opravdu to naštve. Do databáze si to schovávat nepotřebuji, stačilo by při každé nové řádce v psaní příspěvku uložit do SESSIONy a po odeslání vyprázdnit. To by nemusela být ani taková zátěž.
_es
Profil
Chamurappi:
Tá ukážka panelu:
Nepáči sa mi, že sú tie voľby na paneli len grafické symboly a text sa zobrazí až neskôr.
Podľa mňa by tie ikony mali len graficky dopĺňať text.
To menenie šírky by bolo asi veľmi užitočné, hlavne pre tých, čo nemajú v prehliadači všelijaké tie bočné panely a používajú len maximalizované okno.
Nešlo by spraviť, aby to šlo aj ťahaním za okraj textu?
Možno by to mohlo byť doplnené o tlačítka pre skokové zmeny šírky.
Funkcie, ako táto, ktoré idú len pri zapnutom JS, by mohli byť pri vypnutom JS skryté.
Str4wberry
Profil
Chamurappi, tak jak to s malým polotovarem vypadá? Stihneme ho do další koule?
Chamurappi
Profil
Reaguji na Str4wberryho:
Za pět dní přestane fungovat betaverze StarCraftu II, tak zase budu mít čas na nějaké smysluplné činnosti :-)

K příspěvku [#4]:
Ad 1) Pochopil jsem. Jenže delší příspěvek by se nemusel vejít do sušenky. Kdyby to uložení měl vyvolávat uživatel, tak už je celkem jedno, jestli vyvolá tohle uložení, nebo jestli si zkopíruje text do schránky. Spíš se budu soustředit na zneškodnění zkratek Ctrl + W a Ctrl + R při psaní příspěvku.


Reaguji na Str4wberryho, Trejpu, habendorfa, SwimXe:
Díky, nečekal jsem tak vřelé přijetí :-) (je to docela výrazná změna)


Reaguji na _es:
Nepáči sa mi, že sú tie voľby na paneli len grafické symboly a text sa zobrazí až neskôr.
Ano, je to trochu přeikonkované. Pravidla a nápovědu udělám textově a zbytek dostane title, jelikož se mi nechce stylovat ty výčnělky při jiných umístěních panelu než nahoře.

Nešlo by spraviť, aby to šlo aj ťahaním za okraj textu?
Asi šlo, zejména, když máme po okrajích ty indikační buňky, ale myslím si, že by si této možnosti nikdo nevšiml. Ikona na fixním panelu je srozumitelná a vždy snadno dostupná.
Akorát trochu přemýšlím nad tím, že u zdrojových kódů často není snížení šířky žádoucí. Nevím, jak ostatním, ale mně spíš vadí, když musím u zdrojových kódů rolovat do stran, než když u nich musím číst dlouhé řádky.

Možno by to mohlo byť doplnené o tlačítka pre skokové zmeny šírky.
Máš nějaké oblíbené šířky? :-)

Funkcie, ako táto, ktoré idú len pri zapnutom JS, by mohli byť pri vypnutom JS skryté.
Budou.

Díky moc za připomínky.
Str4wberry
Profil
Chamurappi:

K příspěvku [#4] ad 1) I když zneškodníš zmíněné zkratky, tak pořád existuje řada možností, jak o rozepsaný příspěvek přijít. Schválně jsem koukal do databáze a příspěvků, co by se nevešly do sušenky, je 0,29 % ze všech zaslaných — takže bych z toho zase takový strach neměl, osobně jsem tak dlouhé příspěvky napsal jenom 2 a také většinu z těch dlouhých příspěvků zřejmě tvoří hromada zdrojového kódu.
_es
Profil
Chamurappi:
„Možno by to mohlo byť doplnené o tlačítka pre skokové zmeny šírky.“
Máš nějaké oblíbené šířky? :-)
Myslel som to tak, že trebárs tlačítka na zmenu o 10 % šírky okna, tlačítko na maximálnu šírku alebo niečo podobné.

Plánuješ aj aplikovanie zmeny typu písma v textaree?
Podľa mňa by bolo asi najmenej komplikované vyrobiť nejakú nenápadnejšiu ikonku vedľa textarey, ktorou by sa striedavo prepínalo proporcionálne a neproporcionálne písmo.
_es
Profil
Chamurappi:
V súvislosti s debatou v tejto téme, ma napadlo riešenie, ktoré by umožňovalo v najnovších prehliadačoch, vrátane Mozilly, aby všetky okná diskusie, otvorené ľubovolným spôsobom, nielen kliknutím na odkaz, mali navzájom na seba odkazy priamo na objekty window.
Máš o to záujem?
Ak áno, pokúsil by som sa vyrobiť nejakú demo ukážku.
Chamurappi
Profil
Reaguji na _es:
Plánuješ aj aplikovanie zmeny typu písma v textaree?
Ano. Plánuji nějaký intuitivní čudlík vpravo dole pod úchytem na změnu velikosti.

Máš o to záujem?
Určitě mám. Chtěl bych udělat, aby šlo pomocí klávesové mapy snadno vkládat odkazy na ostatní otevřené diskuse a aby moderátoři mohli přesouvat do ostatních otevřených vláken (teď zadávají číslo).

Ak áno, pokúsil by som sa vyrobiť nejakú demo ukážku.
Můžeš to zkusit. Jediná možnost, co mě napadá, je použít starý dobrý localStorage (+ userData behavior), nebo krátkodobou cookie. Ale to bych musel nejspíš přenášet jen jméno okna (ne referenci na něj) a dohledávat ho přes window.open, což je ošklivé.
_es
Profil
Chamurappi:
Jediná možnost, co mě napadá, je použít starý dobrý localStorage ...

Aj mňa napadlo len to.
Vo Firefoxe funguje nasledujúci súbor skoro perfektne, v iných prehliadačoch, trochu divne, tiež funguje.
Hlavný problém bol v nastavení udalosti pre localStorage, aby to šlo v čo najviac prehliadačoch.
Myslím, že ak sa ten algoritmus získavania objektov okna ešte lepšie premyslí, tak by to mohlo fungovať pre všetky prehliadače podporujúce localStorage.
Hlavne, ak by sa to ešte skombinovalo s rekurzívnym zisťovaním vlastností window.opener.
Len je asi nutné použiť udalosť pre localStorage, aby nenastávalo otváranie nového okna cez metódu window.open.
A vždy pred použitím objektov window kontrolovať, či už nie sú zavreté.
Je otázne, či vôbec treba získavať objekty window, či nebude lepšie len posielať takýmto spôsobom text medzi oknami.
A či by nenastávali problémy, ak by prehliadač pracoval s viac procesmi - napríklad Chrome.
Kód je trochu zmätený, no určite sa v tom zorientuješ a nejako lepšie snáď použiješ.
Nemám vhodný web, preto tu dávam celý kód.
Ak ho skopíruješ na nejaký verejný web a dáš tu odkaz, tak sa to tu potom môže zmazať.
<!DOCTYPE HTML>
<a href="x.html">Normalny odkaz</a>
<a href="x.html" target="_blank">Odkaz na nove okno</a>
<div>Nazov okna:</div>
<div><SCRIPT>window.name = (new Date).getTime(); document.write(name);</SCRIPT></div>
<div>rnd:</div>
<div><SCRIPT>var rnd = Math.random(); document.write(rnd);</SCRIPT></div>
<div id=w></div>
<SCRIPT>
var w, zw = {}, t, s1 = "";
function spracuj(e){
  var x = localStorage.x, wx;
  e = e || event;
  if(e.source) wx = e.source;
    else if(zw[x] === void 0) wx = open("", x);
  if(wx != null){
    for(var v in zw){
      var o = zw[v];
      if(wx === o || o == null || o.closed || o.rnd === void 0) delete zw[v];
    }
    zw[x] = wx;
    wx.zw[name] = window;
    }  
  clearTimeout(t); t = setTimeout(vypis, 100);
}
function vypis(){
  var s = "<table><caption>Zoznam vsetkych okien</caption><thead><tr><th>Nazov okna</th><th>rnd</th></tr></thead>";
  for(var v in zw){
    var o = zw[v];
    if(o == null || o.closed || o.rnd === void 0) delete zw[v];
    else s +=  "<tr><td>" + v + "</td><td>" + o.rnd + "</td></tr>";
    }
  s += "</table>";
  if(s != s1) s1 = w.innerHTML = s;
}
window.onload = function(){
  w = document.getElementById("w");
  document.onstorage = spracuj;
  document.onstoragecommit = spracuj;
  if (window.addEventListener) {
    addEventListener('storage',spracuj,false);
    }
    else if (window.attachEvent) {
        attachEvent('onstorage',spracuj);
    }
  localStorage.x = name;
  setInterval(vypis, 1000);
}
</SCRIPT>
_es
Profil
No tak nejaký odkaz predsa len vyrobím: Ukážka
Funguje to len pre prehliadače, čo podporujú localStorage.
Má to ešte nejaké muchy, najviac asi v IE8.
Treba to viac vylepšiť.
Str4wberry
Profil
6) Co takhle u odkazů do diskuse zobrazovat jejich náhled? Je to dobrej nápad, nebo je to blbej nápad, nebo jakej je to nápad?

Petr ZZZ
Profil
Str4wberry:
Mně ten nápad připadá úžasný. Zatím ze zvyku koukám, kam vede odkaz, ale vždycky vidím jen ?action a topic a nicneříkající čísla vláken. Soudě podle obrázku asi už nějakou verzi máš, snad nebude příliš složité pořešit ještě diakritiku.
mckay
Profil
Str4wberry:
Bylo by to pěkné, ale možná by to chtělo někde nastavit, například v profilu, abych si to mohl zapnout a vypnout, protože třeba né každému se to bude líbit. Každopádně za sebe pro.
Jan Tvrdík
Profil
Str4wberry:
Co kdyby odkázaný příspěvek byl delší (třeba s výpisem zdrojového kódu)? Nebylo by to zbytečně rušivé? Jak by se to „aktivovalo“? Pouhý hover by byl strašně agresivní a otravný.

Petr ZZZ:
Soudě podle obrázku asi už nějakou verzi máš
To nepředpokládám. Obrázek lze získat mnoha snadnějšími způsoby než tu věc skutečně vyrobit.
mckay
Profil
Jan Tvrdík:
To nepředpokládám. Obrázek lze získat mnoha snadnějšími způsoby než tu věc skutečně vyrobit.
Na druhou stranu, otázkou zůstává, proč by do obrázku schválně Str4wberry přikreslil nefunkční diakritiku :).
Str4wberry
Profil
Jan Tvrdík:
Co kdyby odkázaný příspěvek byl delší (třeba s výpisem zdrojového kódu)?
Asi by se přidal posuvník.

Nebylo by to zbytečně rušivé?
Těžko říct, to záleží na způsobu aktivace.

Jak by se to ‚aktivovalo‘? Pouhý hover by byl strašně agresivní a otravný.
Pouhý hover určitě ne. Původně jsem myslel, že by se to zobrazilo s několikasekundovou prodlevou při zůstání na odkaze, případně po lehkém pohlazení.
_es
Profil
Chamurappi:
Možno sa ti zíde, v súvislosti s touto diskusiou, že priradenie funkcie do window.onclick alebo do document.onclick v Mozille prostredné tlačítko zachytí. Priradenie onclicku do "nižších" objektov prostredné tlačítko naozaj nezachytí. Teda aspoň u mňa to tak je.
Jan Tvrdík
Profil
Návrh: Kliknutí na „Zamknout téma“ by se dotázalo na potvrzení confirmem, který by zároveň důrazně upozornit na to, že zamčené téma může odemknout jenom moderátor.
Str4wberry
Profil
A ono tam není „Skutečně si přejete zamknout? Odemykat mohou jen moderátoři.“?
Jan Tvrdík
Profil
Když jsem to naposled zkoušel, tak to žádné potvrzení nechtělo.
Str4wberry
Profil
Nezkoušel jsi to před více než rokem?


Chamurappi: Nevím, zda jsem někde něco nerozbil, ale odkaz „Odpovědět“ nic nedělá.
Jan Tvrdík
Profil
Zkoušel jsem to před pár dny a ani v kódu confirm nevidím.
<a href="?action=lock*obejití cenzury*topic&amp;forum=8&amp;topic=113120&amp;chstat=1">Zamknout téma</a>
Str4wberry
Profil
Aha, oni to tam měli jenom moderátoři. :–)
« 1 2 3 4 5 6 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: