Avatar billede webbe Nybegynder
18. marts 2004 - 10:11 Der er 23 kommentarer og
1 løsning

Hotkey script fungerer ikke på mac tastatur

Hejsa eksperter

Er der nogen af jer der kan få følgende script til at fungere på et mac tastatur?

<script language="JavaScript1.2">
//scriptet aktiverer et skjult administrations-login
var hotkey=124 //nummeret på den taste der skal trykkes for at aktivere scriptet
var destination="main.asp"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkey)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkey)
window.open('admin/adm_log.asp', 'Administration', 'width=200,height=150')
//window.location=destination
}
}
document.onkeypress = backhome
</script>

Jeg har fundet det på http://dynamicdrive.com/dynamicindex5/button1.htm og forsøgt at bruge et mac tastetur til at finde en taste-værdi, men den kommer ikke ud med nogen værdi.

Håber der er nogen der kan hjælpe mig.
Avatar billede sbm Nybegynder
18. marts 2004 - 10:39 #1
Nu er det generelt en rigtig dårlig ide at have noget "skjult" liggende i HTML eller JavaScript. Hvis nogen kigger i sidens kildetekst, er det jo lige til at læse.

Nu kan jeg se ud af din destination="main.asp" at du i forvejen arbejder med asp. Hvis ud vil skille nogle brugere fra andre, skal den slags helt klart foregå serverside. Altså i din ASP-kode.
Avatar billede sbm Nybegynder
18. marts 2004 - 10:41 #2
Ahhh. Jeg var vist for hurtig. Jeg kan se du også har en regulær log-in side... Glem bare mit indlæg. :-)
Avatar billede webbe Nybegynder
18. marts 2004 - 10:45 #3
jeps - den kode jeg postede her er kun til at aktivere en popup hvor man angiver brugernavn og password - har også lavet et serverside tjeck på om login-session er true og hvis ikke redirecter den til forsiden af bruger interfacet - ikke admin interfacet - så har sikret mig på den måde.
Avatar billede sbm Nybegynder
18. marts 2004 - 10:58 #4
Hvad med at lave en knap til det, og så lave en hotkey til den...

Du kan jo sætte knappen til at være meget lille, style den til at have samme baggrunds- og tekstfarve som det udenom. Derved bliver den praktisk taget usynlig. Så kan du sætte accesskey på den. Du kan måske også lave det som et alm. link, men så skal du både trykke accesskey OG trykke enter for at aktivere den...

Eksempel
<input type="button" name="hemlinemli" class="hemlinemli" accesskey="a">

Så definerer du en CSS klasse hemlinemli der gør knappen usynlig, og så kan du tilgå den med ALT-A
Avatar billede sbm Nybegynder
18. marts 2004 - 10:59 #5
Ups. Og så skal du naturligvis også lave dit javascript om til en funktion, som du så kalder ved onclick på din knap. :-)
Avatar billede webbe Nybegynder
18. marts 2004 - 11:02 #6
Det kunne man måske godt, men jeg vil helst have scriptet til at fungere med et mac-tastatur
Avatar billede mm12010 Nybegynder
18. marts 2004 - 11:05 #7
testet og virker på Mac OS X med Safari 1.2(v125):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>getCharCode(e)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function getCharCode(e){
    kode=(e.keyCode)?e.keyCode:e.which;
    alert(kode);
    }
</script>
</head>
<body onkeyup="getCharCode(event);">
</body>
</html>
Avatar billede webbe Nybegynder
18. marts 2004 - 11:20 #8
kan man rette mit script så der kan være 2 forskellige værdier der aktiverer popupen?
Avatar billede mm12010 Nybegynder
18. marts 2004 - 11:39 #9
hotkey1=124;
hotkey2=116;
if(kode==hotkey1||kode==hotkey2)
Avatar billede webbe Nybegynder
18. marts 2004 - 13:07 #10
mm12010:

brugte dit lille script til at finde en taste med samme værdi - pointene er dine.
Avatar billede mm12010 Nybegynder
18. marts 2004 - 13:19 #11
svar :o)
Avatar billede webbe Nybegynder
19. marts 2004 - 08:48 #12
mm12010:

Var måske lidt for hurtig - scriptet virker nemlig ikke på en mac - kan du evt. rette scriptet til så det også virker på en mac?
Avatar billede webbe Nybegynder
19. marts 2004 - 08:49 #13
Har følgende:

<script language="JavaScript1.2">
//scriptet aktiverer et skjult administrations-login
var hotkeyMac=27 //nummeret på den taste der skal trykkes for at aktivere scriptet på mac
var hotkeyPc=27 //nummeret på den taste der skal trykkes for at aktivere scriptet på pc
var destination="main.asp"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkeyMac||e.which==hotkeyPc)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkeyMac||event.keyCode==hotkeyPc)
window.open('admin/adm_log.asp', 'Administration', 'width=200,height=150')
//window.location=destination
}
}
document.onkeypress = backhome
</script>
Avatar billede mm12010 Nybegynder
19. marts 2004 - 08:49 #14
hvordan ser dit script ud nu?
Avatar billede webbe Nybegynder
19. marts 2004 - 08:54 #15
som du ser over din sidste kommentar ;0)
Avatar billede mm12010 Nybegynder
19. marts 2004 - 09:16 #16
der var lige 5 sek imellem ;-)

hvilken tast har 27?
Avatar billede webbe Nybegynder
19. marts 2004 - 09:19 #17
Escape tasten ;0)
Avatar billede mm12010 Nybegynder
19. marts 2004 - 09:32 #18
hvilken af disse skal den vælge hvis det er mac?

window.location=destination

window.open('admin/adm_log.asp', 'Administration', 'width=200,height=150')
Avatar billede webbe Nybegynder
19. marts 2004 - 09:35 #19
øøøøhhh - ikke helt forstået.

den skal (for mig at se) vælge den samme destination uanset om det er mac eller pc.
Avatar billede mm12010 Nybegynder
19. marts 2004 - 11:08 #20
så kan du sådan set erstatte hele dit script med denne linie:

document.onkeypress=new Function("if((event.which?event.which:event.keyCode)==27)window.open('admin/adm_log.asp','Administration','width=200,height=150');");
Avatar billede webbe Nybegynder
19. marts 2004 - 11:21 #21
og hvis jeg vil have 2 forskellige taste-værdier (en til mac og en til pc)???
Avatar billede mm12010 Nybegynder
19. marts 2004 - 11:23 #22
document.onkeypress=new Function("kode=(event.which)?event.which:event.keyCode;if(kode==27||kode==189)window.open('admin/adm_log.asp','Administration','width=200,height=150');");
Avatar billede webbe Nybegynder
19. marts 2004 - 11:33 #23
thanx man - det virker ;0)
Avatar billede mm12010 Nybegynder
19. marts 2004 - 11:56 #24
np ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester