Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[tweakers] Accesskeys onder IE werken niet goed

Pagina: 1
Acties:
  • 50 views sinds 30-01-2008

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
In FF is het zo dat ALT-P mij direct naar mijn posthistory redirect, waarvoor hulde, een prachtige functie _o_

Maar nu is het zo dat in IE acceskeys een extra stap vergen: op enter rammen. Dit is niet zo erg en er valt wel mee te leven ;) Maar nu is het zo dat links die niet direct zichtbaar zijn (de links in de pulldown menu's) niet aan te roepen zijn met de accesskeys.

Ik moet nu eerst met de muis op myreact gaan staan zodat die pulldown opengaat, en dan pas werkt mijn accesskey naar mijn posthistory. Is hier wat aan te doen? En dan dus op zo'n manier dat ik gewoon ALT-P ENTER kan doen?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

Tsja, misschien met een berg javascript, maar de vraag is of dat wel wenselijk is. Op zich heb ik zoiets van: het blijft een antieke browser, mensen die graag die functionaliteit willen hebben moeten maar een moderne browser installeren :P

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
Ben ik 100% met je eens, maar op mijn werk heb ik geen andere keuze :)

Het komt waarschijnlijk omdat IE niet kan focussen op de link als hij niet zichtbaar is.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

Dat laatste klopt inderdaad...

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
En een onkeypress event is zeker niet te realiseren? Dan kun je met een simpele functie de status van je altknop opvragen en de keycode van de ingedrukte knop. En met een array kun je de mensen dan doorverwijzen naar de juiste pagina. Even in pseudo code:

code:
1
2
3
4
5
6
7
8
function knop()
{
  toets['a'] = "http://gathering.tweakers.net/forum/list_activetopics";
  toets['p'] = "http://gathering.tweakers.net/forum/find/poster/50656";
 
  open(toets[event.keyCode.toLetter()])
}
onkeypress = knop;

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

Ja, dat kan wel, maar dan moet ik dat bij elke pageview gaan genereren (de links zijn immers per gebruiker verschillend).

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
Alleen die array is per user verschillend, die kan zeker niet alvast voorgerenderd worden zodat ze niet bij elke pageview opnieuw gegenereerd hoeven te worden?

Ik ben nog op zoek naar een betere en fatsoenlijke oplossing maar kan zo nog niets vinden.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

André schreef op maandag 22 november 2004 @ 14:24:
Alleen die array is per user verschillend, die kan zeker niet alvast voorgerenderd worden zodat ze niet bij elke pageview opnieuw gegenereerd hoeven te worden?

Ik ben nog op zoek naar een betere en fatsoenlijke oplossing maar kan zo nog niets vinden.
Het is ook de enige manier om het IE aan het verstand te peuteren :P
True, het gaat alleen om de array, en het kan nog compacter door enkel het stuk /action/parameters op te slaan, en in de vaste JS dit te doen:
JavaScript:
1
2
3
4
if (incompetent_browser) document.onkeypress = function()
{
  // afhandeling accesskeys voor IE
};

[ Voor 6% gewijzigd door crisp op 22-11-2004 14:28 ]

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
Wat ook nog kan is een aantal input type="buttons" in de pagina zetten die onzichtbaar zijn. Als je die een accesskey geeft zal de key automatisch de onclick van die buttons triggeren.

[ Voor 4% gewijzigd door André op 22-11-2004 14:30 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

André schreef op maandag 22 november 2004 @ 14:30:
Wat ook nog kan is een aantal input type="buttons" in de pagina zetten die onzichtbaar zijn. Als je die een accesskey geeft zal de key automatisch de onclick van die buttons triggeren.
Ik weet niet wat IE gaat doen als er meerdere elementen dezelfde accesskey hebben, en dan moet ik sowieso al andere manieren verzinnen om IE te detecteren - via JS lijkt me dan toch het makkelijkst...

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
En het menu boven de viewport plaatsen ipv dat je de visibility of display op hidden/none zet?

[edit]
Tevens mijn laatste suggestie ;)

[ Voor 19% gewijzigd door André op 22-11-2004 14:44 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

Het grote voordeel van een JS-oplossing is natuurlijk wel dat je ook de extra <enter> kwijt bent :)

Ik had al het volgende gefabriceerd als conceptje:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var acckeys = [];
acckeys['A'] = '/list_activetopics';
acckeys['B'] = '/list_bookmarks/0//default';
acckeys['E'] = '/find/poster/4769';
acckeys['F'] = '/find';
acckeys['G'] = '';
acckeys['H'] = '/faq';
//back
acckeys['M'] = '/myreact';
//newtopic
//postreply
//Tnet frontpage
acckeys['X'] = '/reset';
acckeys['Y'] = '/preferences';

if (incompetent_browser) document.onkeydown = function()
{
    var key = event.keyCode;
    var a = String.fromCharCode(key);
    if (event.altKey && acckeys[a])
    {
        window.location.href = board_script_url + acckeys[a];
        return false;
    }
}

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-11 11:08

André

Analytics dude

Topicstarter
Ik vind het het overwegen wel waard. Het is per slot alleen voor IE en veel code is het niet.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

ik heb inmiddels lokaal al wat werkend in de nieuwe templaat :)

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 10:27

crisp

Devver

Pixelated

En done; alle accesskeys behalve de 'back' - daarvoor zal je in IE toch nog een keer op enter moeten drukken (dat was de enige die ik niet centraal kon regelen).

Intentionally left blank

Pagina: 1

Dit topic is gesloten.