Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Traf
Kreisi kasutaja
liitunud: 04.12.2007
|
30.04.2012 14:46:57
Foorumi avaleht - Middle & Ctrl-click |
|
|
Tervist!
Mind on pikka aega häirinud üks foorumi esilehe probleem - nimelt olen harjunud linke uues tabis avama, kasutades selleks hiire keskmist nuppu ja/või ctrl-klahvi. Foorumi pealkirjadel see aga ei tööta - uus tab küll avaneb aga ka praegune tab navigeerub uuele aadressile. Otsustasin tööl lõuna ajal probleemi süveneda ja lahendus leida.
Oodatud käitumine: Middle/Ctrl-click tehes avaneb link uues tabis, praegune tab jääb samaks.
Probleemne käitumine: Middle/Ctrl-click tehes avaneb link uues tabis, praegune tab navigeerub samale aadressile.
Brauseritest testisin Chrome, Firefoxi ja IEga.
Hiire keskmise nupuga esines probleem Chromel.
Ctrl-klahviga esines probleem Chromel ja Firefoxil.
Probleemi põhjuseks on igale foorumi pealkirja reale määratud jupp koodi - mis küll iseenesest on tore, sest see teeb terve rea klikitavaks, aga samas põhjustab ülalmainitud probleeme.
<td class="row1" width="100%" onmouseover="this.style.backgroundColor='#fafafa'; this.style.cursor='pointer';" onmouseout="this.style.backgroundColor='#FFFFFF';"
onclick="window.location.href='viewforum.php?f=32'"
style="cursor: pointer; background-color: rgb(255, 255, 255); "><span class="forumlink"><a href="viewforum.php?f=32" class="forumlink">Mobiiltelefonid/ GPS seadmed / Muu tehnika <span class="hv_fcounter">(243/119)</span></a><br></span>
<span class="gensmall">Kõik, mis on seotud mobiiltelefonidega, GPS seadmetega ja muu tehnikaga (v.a ost/müük).</span></td> |
Näide probleemsest koodist - eraldasin olulisema (onclick).
Vaikimisi javascript clicki tüüpi ei kontrolli - onclick aktiveerub nii vasaku, keskmise kui parema kliki korral ja teostab navigeerimise - ning see ongi probleemiks. Lahendus oleks teha praeguse tabi navigeerimine ainult siis, kui kumbki neist ei ole tõene: a) click on teostatud hiire keskmise nupuga või b) ctrl-klahv on all.
a) jaoks leidsin koodi siit:
if (event.which == null)
/* IE case */
button= (event.button < 2) ? "LEFT" :
((event.button == 4) ? "MIDDLE" : "RIGHT");
else
/* All others */
button= (event.which < 2) ? "LEFT" :
((event.which == 2) ? "MIDDLE" : "RIGHT");
|
Seda natuke kohendades (meil on vaja ainult keskmist klikki ja eesmärk on lehe maht minimaalne hoida) jõuame järgmiseni:
middle = (event.which == null) ? (event.button == 4) : (event.which == 2);
|
b) saab kätte kergemini, nagu leiab siit:
Kui eesmärk on mõlemad välistada, tuleks navigeerimine teha ainult siis, kui ei middle ega ctrl pole tõene:
if(!middle && !ctrl){window.location.href='viewforum.php?f=32'} |
asendame middle ja ctrl neile vastavate koodijuppidega ja eemaldame tühikud, et maht minimaalne hoida ning paigutame selle algsesse HTML'i. Saame midagi järgmist:
<td class="row1" width="100%" onmouseover="this.style.backgroundColor='#fafafa'; this.style.cursor='pointer';" onmouseout="this.style.backgroundColor='#FFFFFF';"
onclick="if(!(event.which==null)?(event.button==4):(event.which==2)&&!event.ctrlKey){window.location.href='viewforum.php?f=32'}"
style="cursor: pointer; background-color: rgb(255, 255, 255); "><span class="forumlink"><a href="viewforum.php?f=32" class="forumlink">Mobiiltelefonid/ GPS seadmed / Muu tehnika <span class="hv_fcounter">(243/119)</span></a><br></span>
<span class="gensmall">Kõik, mis on seotud mobiiltelefonidega, GPS seadmetega ja muu tehnikaga (v.a ost/müük).</span></td> |
Tulemuseks saadud HTML/JS käitub, nagu oodatud ja ei navigeeri middle/ctrl korral praegust tabi uuele aadressile. Lähenemisi on teisigi, näiteks kliki/nupu kontroll eraldi funktsiooni panna ja mitte iga foorumi jaoks javascripti korrata. Testimist oleks nagu ka, lähenemisest ja võimalustest sõltuvalt ei saanud ma seda väga põhjalikult teha. Loodan siiski, et mu kirja pandud mõttekäik inspireerib probleemi lahendama ja pakub sellisel juhul ka abi.
|
|
Kommentaarid: 49 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
48 |
|
tagasi üles |
|
 |
Tanel
HV Guru

liitunud: 01.10.2001
|
|
Kommentaarid: 465 loe/lisa |
Kasutajad arvavad: |
   |
:: |
12 :: |
7 :: |
358 |
|
tagasi üles |
|
 |
DigeBeni
HV Guru

liitunud: 06.11.2001
|
30.04.2012 16:23:55
|
|
|
... miks seda saidipõhiselt tegema peab ? n. FF puhul on olemas mitmeid pluginaid, millega võid lehitseja panna käituma just nii, nagu sulle meeldib sh. endal on FF aegade algusest niimoodi käitunud ja ei näe nagu probleemi ehk on probleem hoopis su enda arvutis/seadistuses ...
_________________
 |
|
Kommentaarid: 194 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
5 :: |
160 |
|
tagasi üles |
|
 |
Traf
Kreisi kasutaja
liitunud: 04.12.2007
|
30.04.2012 16:39:46
|
|
|
DigeBeni kirjutas: |
... miks seda saidipõhiselt tegema peab ? n. FF puhul on olemas mitmeid pluginaid, millega võid lehitseja panna käituma just nii, nagu sulle meeldib sh. endal on FF aegade algusest niimoodi käitunud ja ei näe nagu probleemi ehk on probleem hoopis su enda arvutis/seadistuses ... |
Sa oled probleemist valesti aru saanud. Kõik lingid töötavad ja avanevad nagu peab, välja arvatud https://foorum.hinnavaatlus.ee foorumite nimekiri. Proovi seal näiteks mõnel foorumi pealkirjal Ctrl+click teha Firefoxiga. Chromel ei tööta ka keskmine klikk nii, nagu peaks.
|
|
Kommentaarid: 49 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
48 |
|
tagasi üles |
|
 |
rex
HV Guru

liitunud: 09.01.2002
|
30.04.2012 17:59:15
|
|
|
Mul on samasugune kasutusharjumus, kuid mul pole kunagi pähe tulnud päris esilehte eraldi avatuna hoida. Tavaliselt kas enda või lugemata postide list ja sealt siis klikin keskmisega (kui on eraldi hiir või Thinkpad) või ctrl + klikk (kui on mingi suvaline läpakas). Või siis esimese tab'iga juba mõnes alamfoorumis sees olles. Kasutan vahelduva eduga 4 brauserit, kuid pole seni kordagi selle otsa sattunud.
Brauserite endi kohta nii palju, et mulle näiteks käib pinda see, et middle click vaikimisi uut tab'i kohe ka ei aktiveeri. Ainult selle muutmiseks lasen ma FF-le Tab Mix Plus'i selga. Ei viitsi seda lisaklikki teha.
|
|
Kommentaarid: 247 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
226 |
|
tagasi üles |
|
 |
riaak
HV Guru

liitunud: 22.09.2002
|
30.05.2012 01:00:44
|
|
|
tsitaat: |
Brauserite endi kohta nii palju, et mulle näiteks käib pinda see, et middle click vaikimisi uut tab'i kohe ka ei aktiveeri. Ainult selle muutmiseks lasen ma FF-le Tab Mix Plus'i selga. Ei viitsi seda lisaklikki teha. icon_smile.gif
|
See on küll jama jutt.
Options - Tabs - When i open a new tab, switch to it immediately...
_________________ ¯\_(ツ)_/¯ |
|
Kommentaarid: 119 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
105 |
|
tagasi üles |
|
 |
ufo56
HV Guru

liitunud: 18.11.2004
|
30.05.2012 01:11:12
|
|
|
Jälle mingi imelik probleem. Vajuta kus tahad middle klicki ja avaneb ilusti uus tab lingiga ja vana jääb püsima.
_________________
Lae pildid -> pilt.io |
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
67 |
|
tagasi üles |
|
 |
rex
HV Guru

liitunud: 09.01.2002
|
30.05.2012 15:00:28
|
|
|
riaak kirjutas: |
tsitaat: |
Brauserite endi kohta nii palju, et mulle näiteks käib pinda see, et middle click vaikimisi uut tab'i kohe ka ei aktiveeri. Ainult selle muutmiseks lasen ma FF-le Tab Mix Plus'i selga. Ei viitsi seda lisaklikki teha. icon_smile.gif
|
See on küll jama jutt.
Options - Tabs - When i open a new tab, switch to it immediately... |
Õige märkus, selle valiku olengi tegelikult sealt teinud. Tab Mix Plus'iga sätin, et pärast tab'i sulgemist aktiveeritaks viimane valitud tab.
ufo56 kirjutas: |
Jälle mingi imelik probleem. Vajuta kus tahad middle klicki ja avaneb ilusti uus tab lingiga ja vana jääb püsima. |
Nüüd tõesti. Kuu tagasi nii ei olnud.
|
|
Kommentaarid: 247 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
226 |
|
tagasi üles |
|
 |
Ollaz
HV veteran

liitunud: 04.01.2008
|
31.05.2012 12:26:22
|
|
|
Kurat, ja mina arvasin ainus, kelle läpakal selline naljakas anomaalia on, kuna kast nii ei käitu
|
|
Kommentaarid: 83 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
 |
|