[IE/JSCRIPT] Functietoetsen uitschakelen met JS

Pagina: 1
Acties:

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Is het mogelijk om met Javascript bepaalde functies van de Internet Explorer uit te schakelen. Ik wil namelijk als ik bijvoorbeeld op F1 druk een bepaalde functie binnen de website starten en niet de helpfunctie van internet explorer.
Ik heb op diverse plekken gezocht op internet maar kan hier niks over vinden, hopelijk weet een van jullie het.

Alvast bedankt :)

  • whoami
  • Registratie: December 2000
  • Nu online

https://fgheysels.github.io/


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Dat access keys is iig heel interessant, ik vind alleen geen informatie over het gebruik van functietoetsen :( Ik kan bijvoorbeeld ALT-H koppelen aan de helpfunctie, maar daar wil ik liever F1 voor gebruiken. Is dit mogelijk in Internet Explorer? Ik hoef geen rekening te houden met welke browserversie er gebruikt wordt, als het alleen werkt met IE6 dan is dat de eis die de webapp met zich meebrengt.

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Ik heb een oplossing gevonden, de F1 kon uitgezet worden door onhelp=helpfunctie() te gebruiken. Maar de rest van de functietoetsen kon ik nog niet uitschakelen.
Toen las ik op internet een artikel over HTML Applications (*.hta) die alle functies van IE uitschakelde behalve degene die je wilt gebruiken. Ik gebruik nu een index.hta bestand om de applicatie mee op te start (een frame met daar in het index.php bestand die de applicatie aanstuurd). Nu zijn alle functietoetsen en de rechtmuisknop uitgeschakeld en kan ik al die functies zelf gaan inbouwen (als ik dat zou willen).

Enige probleem is dat als je een hta bestand wilt starten in je browser krijg je eerst een popup van openen of opslaan. Dit kan verholpen worden door een snelkoppeling naar mshta.exe te maken die zelf het index.hta bestand opstart. Alleen zou het mooier zijn als dit direct vanuit de browser (dus zonder zo'n snelkoppeling) kan gebeuren. Ik heb al het mime type toegevoegd op de webserver en in m'n windows staat hta ook gekoppeld aan mshta.exe maar toch blijft die popup komen.

Ben nu het hele weekend aan het zoeken geweest maar heb nog niks kunnen vinden. Is er misschien iemand die mij verder kan helpen ??

Alvast bedankt

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

ja kan voor internet explorer window.event.keyCode gebruiken.

als je dan in je op een onkeydown functie in je pagina opvangt welke toets er gedrukt is kan je kijken of die door mag gaan of niet. of andere functie eraan hangen natuurlijk :)

hoe dit in andere browsers werkt is wat moeilijker :)

disjfa - disj·fa (meneer)
disjfa.nl


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
ja die keycode gebruikte ik al, alleen blijft het helpscherm, zoekscherm enz van internet explorer gewoon verschijnen. Dit gebeurt niet wanneer ik er een HTA omheen bouw.

Verwijderd

Ik heb hier ook zitten testen (IE5), alleen ik krijg gewoon een download melding, die ik dan wel weer 'uit kan voeren vanaf huidige locatie', dan werkt het wel.
Lijkt me niet echt de bedoeling?

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Inderdaad dat is ook niet echt de bedoeling. HTA heeft trouwens wel als voordeel dat de webapplicatie qua beveiliging hetzelfde draait als een lokale executable. Ik mag dus veel meer vanuit de webapplicatie op het lokale systeem doen dan normaal. Verder heeft het als voordeel dat het mijn vraag oplost, en dat is dat ik m'n functietoetsen wil uitschakelen, om deze vervolgens te laten definieren per gebruiker zodat een gebruiker de onderdelen van de applicatie die hij/zij het meest gebruik altijd onder één knop heeft zitten.

Maar als er een andere manier is om de standaard IE functietoetsen uit te schakelen dan hoor ik het graag :)

[ Voor 11% gewijzigd door wustenveld op 18-02-2003 10:04 ]


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Hmmm, HTA zorgt er niet voor dat álle functietoetsen uit staan, F5 werkt gewoon nog steeds, en ik wil niet dat gebruikers het scherm kunnen vernieuwen. Is er een mogelijkheid om de F5 toets toch uit te zetten ?? Een stuk javascript die opmerkt dat F5 is ingedrukt en dan return false geeft werkt niet :|

Verwijderd

Ik denk dat je er toch mee zal moeten leven dat webapplicatie's nu eenmaal minder invloed op de client kunnen uitoefenen als normale applicatie's.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Verwijderd schreef op 18 February 2003 @ 19:01:
Ik denk dat je er toch mee zal moeten leven dat webapplicatie's nu eenmaal minder invloed op de client kunnen uitoefenen als normale applicatie's.


Gelukkig wel zeg, zou er niet aan moeten denken dat een website mijn toetsencombinaties en dergelijk gaat overnemen.

  • [eNeRGy]
  • Registratie: November 1999
  • Laatst online: 24-04-2025
McVirusS schreef op 18 February 2003 @ 21:11:

[...]


Gelukkig wel zeg, zou er niet aan moeten denken dat een website mijn toetsencombinaties en dergelijk gaat overnemen.
Voor intranet applicaties zou het wel fijn zijn :)

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Verwijderd schreef op 18 February 2003 @ 19:01:
Ik denk dat je er toch mee zal moeten leven dat webapplicatie's nu eenmaal minder invloed op de client kunnen uitoefenen als normale applicatie's.
Ik kan met de webapplicatie net zoveel invloed uitoefenen in principe als een normale applicatie. Ik kan bijvoorbeeld netwerkverbindingen maken op de lokale pc, de printers direct aansturen, schermen openen en sluiten die ik wil, register uitlezen, en vullen.

De webapplicatie draait namelijk niet echt in de internet explorer maar als HTA (HTML Application :: http://msdn.microsoft.com...or/hta/hta_node_entry.asp), het lokale systeem vertrouwt als het ware de webapplicatie zodat deze veel meer rechten heeft als een normale website.

Het is me trouwens gelukt met de F5 toets, en toetsencombinaties zijn nu ook geen probleem meer, ik kan nu eindelijk binnen de webapplicatie met het toetsenbord doen wat ik wil :)

Bovenaan het javascriptje heb ik staan:
[script]document.onkeydown = checkkey;[/script]

De functie check key controlleert nu alle functietoetsen (keycode 112 t/m 123). De HTA had van zichzelf uit al alle functietoetsen van de internet explorer uitgeschakeld, behalve dus de F5 toets. In een switch statement koppel ik aan elke functietoets een document.location en aan het einde van de functie staat een return false. De F5 toets werkt nu niet meer als vernieuw-knop en alle functietoetsen doen nu hetgene wat de gebruiker in zijn/haar profiel ingesteld heeft.

Iedereen bedankt voor het meedenken, en energy het is voor lokale intranet applicaties de moeite waard om dat HTA eens te bekijken. Dan bouw je je hele interface en acties gewoon als web applicatie. En het is makkelijker (vind ik persoonlijk) om interfaces enzo te bouwen met (d)html als met wat voor tooltje dan ook ;)

Nogmaals bedankt

[ Voor 41% gewijzigd door wustenveld op 19-02-2003 09:58 ]


Verwijderd

wustenveld schreef op 19 februari 2003 @ 09:53:
Ik kan met de webapplicatie net zoveel invloed uitoefenen in principe als een normale applicatie. Ik kan bijvoorbeeld netwerkverbindingen maken op de lokale pc, de printers direct aansturen, schermen openen en sluiten die ik wil, register uitlezen, en vullen.
Hoe dat zonder HTA?
Ik zou erg graag willen dat bij het printen de layout automatisch op landscape staat, maar dat is mij niet gelukt.
(wel oplossingen gevonden, maar die werkten allen niet. het moet werken in IE5+).

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Ik weet dus nog niet hoe ik dat printen ga doen. Ik weet wel dat je met een webapplicatie die écht draait in IE dat je te maken hebt met beveiligingsinstellingen die de werking van je webapplicatie beperken. Door dat HTA te gebruiken strip je IE eigenlijk tot basisfunctionaliteit, het menu/functietoetsen enzo zijn dan allemaal weg en de beveiligingsbeperkingen zijn opgeheven. Dus misschien werken die oplossingen die je gevonden hebt wel als je hta gebruikt

Verwijderd

wustenveld schreef op 19 February 2003 @ 14:36:
Ik weet dus nog niet hoe ik dat printen ga doen. Ik weet wel dat je met een webapplicatie die écht draait in IE dat je te maken hebt met beveiligingsinstellingen die de werking van je webapplicatie beperken. Door dat HTA te gebruiken strip je IE eigenlijk tot basisfunctionaliteit, het menu/functietoetsen enzo zijn dan allemaal weg en de beveiligingsbeperkingen zijn opgeheven. Dus misschien werken die oplossingen die je gevonden hebt wel als je hta gebruikt
Ik ga me nog wel binnenkort een keer verdiepen in HTA, al vind ik het op zijn minst een raar iets.

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Wat vind je raar aan HTA? Ik vind het op zich voor intranets wel ideaal. Enige nadeel is dat als je rechtstreeks http://webserver.nl/index.hta intikt dat je eerst moet zeggen dat je hem wilt openen (je geeft dan als het ware toestemming aan de applicatie om qua beveiliging te functioneren als lokale. Als je een snelkoppeling ergens neerknalt die wijst naar webserver/index.hta pakt ie hem wel in één keer.

Je kunt voor je webapplicatie in VB natuurlijk ook het webbrowser component van IE aanspreken en je lokale applicatie laten communiceren met de webapplicatie voor printfuncties enzovoorts. Ik heb daar zelf niet voor gekozen want dat kost me (op dit moment) te veel tijd. Later ga ik waarschijnlijk wel zoiets bouwen, al is het alleen voor de kick van het programmeren :P

Verwijderd

wustenveld schreef op 20 February 2003 @ 09:18:
Wat vind je raar aan HTA? Ik vind het op zich voor intranets wel ideaal. Enige nadeel is dat als je rechtstreeks http://webserver.nl/index.hta intikt dat je eerst moet zeggen dat je hem wilt openen (je geeft dan als het ware toestemming aan de applicatie om qua beveiliging te functioneren als lokale. Als je een snelkoppeling ergens neerknalt die wijst naar webserver/index.hta pakt ie hem wel in één keer.
Dat is niet acceptabel voor eindgebruikers, het moet gewoon in 1 keer werken.

[ Voor 4% gewijzigd door Verwijderd op 20-02-2003 19:59 ]


  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 08-08 17:31
Een snelkoppeling werkt in 1 keer. Of is dat volgens jou ook niet acceptabel voor eindgebruikers? Een gebruiker moet toch normaal gesproken altijd dubbelklikken op een icoon om een stuk software te starten, waarom zou het in het geval van 'n webapplicatie niet wenselijk zijn ?
Pagina: 1