Avatar billede moejensen Nybegynder
01. juni 2006 - 09:55 Der er 15 kommentarer og
1 løsning

Hent side ved tryk på ALT + I

HVordan gøres dette, så det virker i IE
Avatar billede Slettet bruger
01. juni 2006 - 10:03 #1
Ikke forstået.
Avatar billede moejensen Nybegynder
01. juni 2006 - 10:16 #2
Jeg er ude efter et javascript, der fanger at jeg trykke på ALT og I. VEd dette tryk skal den åbne en ny side.
Avatar billede mclemens Nybegynder
02. juni 2006 - 02:08 #3
Noget i denne stil?


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

var atargsk = new Object();
var altchk=false;

window.onload=function(){if(document.body.style.filter==""){

atargs=document.getElementsByTagName("a");
for(i=0;i<atargs.length;i++){
if(atargs[i].accessKey){
  atargsk[atargs[i].accessKey]=atargs[i].href;
}
}

document.onkeydown=function(){keychk(event,0);}
document.onkeyup=function(){altchk=false;}

}}


function keychk(e,tmpt){

if(e.keyCode==18){
altchk=true;
}

if((tmpu=atargsk[String.fromCharCode(e.keyCode).toLowerCase()])&&(altchk)){
window.open(tmpu,'_blank','toolbar=1,location=1,status=1,menubar=1,resizable=1');
}
}

</script>

</head><body>

Hejsa, du kan trykke på eksperten for at gå til ekperten...<br>
- eller hvis din mus er røget i en musefælde, kan du bruge disse shortlinks:<br><br>

ALT + H = Home<br>
ALT + E = Eksperten<br>
ALT + J = Jubii<br>
... Yahoo har ingen access key ...<br><br>


<a accesskey="h" target="_blank" href="http://www.home.dk">Home</a><br>
<a accesskey="e" target="_blank" href="http://www.eksperten.dk">Eksperten</a><br>
<a accesskey="j" target="_blank" href="http://www.jubii.dk">Jubii</a><br>
<a target="_blank" href="http://www.yahoo.dk">Yahoo</a>
</body></html>
Avatar billede mclemens Nybegynder
02. juni 2006 - 02:09 #4
ups ... ret lige en af accesskey defineringerne til i :D
Avatar billede moejensen Nybegynder
02. juni 2006 - 17:47 #5
yep, det er i den stil, men hvad gør jeg så hvis jeg vil kalde en funktion. ex document.form.submit();
Avatar billede mclemens Nybegynder
02. juni 2006 - 17:58 #6
Du giver input type="submit" en access key også?

... ovenstående dokument og:

<a accesskey="h" target="_blank" href="http://www.home.dk">Home</a><br>
<a accesskey="e" target="_blank" href="http://www.eksperten.dk">Eksperten</a><br>
<a accesskey="j" target="_blank" href="http://www.jubii.dk">Jubii</a><br>
<a target="_blank" href="http://www.yahoo.dk">Yahoo</a>

<form action="#" method="get">
<input type="hidden" name="test" value="virker">
<input accesskey="s" type="submit" value="Afsend her eller tryk alt+s">
</form>
</body></html>
Avatar billede mclemens Nybegynder
02. juni 2006 - 18:10 #7
atargs=document.getElementsByTagName("a");
for(i=0;i<atargs.length;i++){
if(atargs[i].accessKey){
  atargsk[atargs[i].accessKey]=atargs[i].href;
}
}

^ du kan selvfølgelig også køre et gennemløb på:

atargs=document.getElementsByTagName("input");
for(i=0;i<atargs.length;i++){
if(atargs[i].accessKey){
  atargsk[atargs[i].accessKey]=atargs[i].href;
}
}
Avatar billede mclemens Nybegynder
02. juni 2006 - 18:24 #8
Prøv evt. også denne...
- lægger lige et svar er offline et stykke tid idag


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

var atargsk = new Object();
var altchk=false;

window.onload=function(){if(document.body.style.filter==""){

runaccess("a");

document.onkeydown=function(){keychk(event,0);}
document.onkeyup=function(){altchk=false;}
}}

function runaccess(tmptag){
atargs=document.getElementsByTagName(tmptag);
for(i=0;i<atargs.length;i++){
  if(atargs[i].accessKey){
  atargsk[atargs[i].accessKey]=atargs[i].href;
  }
}
}


function keychk(e,tmpt){

if(e.keyCode==18){
altchk=true;
}

if((tmpu=atargsk[String.fromCharCode(e.keyCode).toLowerCase()])&&(altchk)){
if(tmpu.indexOf("java script:")==0)eval(tmpu.replace("java script:",""));
else window.open(tmpu,'_blank','toolbar=1,location=1,status=1,menubar=1,resizable=1');
}
}

</script>

</head><body>

<div accesskey="s" style="display:none"><a accesskey="w" href="java script:document.minformular.submit();void(0);">Aktiver</a></div>

<form name="minformular" action="#" method="get" onsubmit="return false;">
<input type="hidden" name="test" value="virker">
<input type="submit" value="Afsend med alt+w via skjult a href der laver et funktionskald og undgå return false på onsubmit">
</form>
</body></html>
Avatar billede moejensen Nybegynder
02. juni 2006 - 18:57 #9
JEg fandt den her, som virker fint som den skal. Mit eneste problem er at jeg bruger frames på min side, så der er som om den ikke fanger mit keyboard input

<script type="text/javascript">
var mykey;

if (window.Event){
  document.captureEvents(Event.KEYDOWN);
}
document.onkeydown = myKeyDown;

function myKeyDown(e){
    if (window.Event){
      mykey = e.which;
    }else{
      mykey = event.keyCode;
      e = event;
    }

    mykey = String.fromCharCode(mykey);

    if (e.altKey && mykey.match(/[pP]/)){
      document.location.href = "http://www.netmag.co.uk";
    }else if (e.altKey && mykey == "1"){
      document.location.href = "http://www.macformat.co.uk";
    }
}
</script>
Avatar billede mclemens Nybegynder
02. juni 2006 - 20:14 #10
Vidste ikke at du skulle bruge det i frames...

- har kigget lidt på den du kom med ... jeg synes
ikke jeg kan få den til at virke selvom jeg looper igennem
frames selvom jeg tildeler en eventhandler til hvert af disse frames...

- lige et p.s.: Hvis det ikke er sider fra samme domæne som dit eget site der vises i en frame så kan du ikke scripte i denne frame da det ikke er muligt at crosssite scripte i eksterne sider via frames/iframes

... men m.h.t. til løsningen så læg script ud i en ekstern fil og inkluder den fra hver af dine frames indvendige html med <script type="text/javascript" src="minfil.js"></script> ... og ret evt. disse linjer i scriptet:

    if (e.altKey && mykey.match(/[pP]/)){
      document.location.href = "http://www.netmag.co.uk";
    }else if (e.altKey && mykey == "1"){
      document.location.href = "http://www.macformat.co.uk";

rettes til:

    if (e.altKey && mykey.match(/[pP]/)){
      top.location.href = "http://www.netmag.co.uk";
    }else if (e.altKey && mykey == "1"){
      top.location.href = "http://www.macformat.co.uk";
Avatar billede moejensen Nybegynder
07. juni 2006 - 11:32 #11
Et lille tillægs spg.

hvis jer gerne vil ha at ved tryk på ALT + T, så trykkes på følgende knap:

<input type="submit" value="Incoming" name="CallDirection" id="CallIncoming" style="width: 150px; height: 35px;font-size: 15pt;">

Hvordan skal jeg så skrive det? mit ex:

else if (e.altKey && mykey == "I"){
    parent.frames['CallReport'].document.getElementById('CallIncoming').???;
    }
Avatar billede mclemens Nybegynder
07. juni 2006 - 12:10 #12
Du kan ikke aktivere en knap ...
- du kan dog sikkert submitte formen med:
parent.frames['CallReport'].document.formularensname.submit();
Avatar billede moejensen Nybegynder
07. juni 2006 - 12:53 #13
hmmm,

problemet er at der er to submitter i den form, se her under:

<td width="170"><input type="submit" value="Incoming" name="CallDirection" id="CallIncoming" style="width: 150px; height: 35px;font-size: 15pt;"></td>
        <td width="180"><input type="submit" value="Outgoing" id="CallOutgoing" name="CallDirection" style="width: 150px; height: 35px;font-size: 15pt;"></td>
Avatar billede mclemens Nybegynder
07. juni 2006 - 13:59 #14
Så må du have et skjult inputfelt med standard value="" og så
kan du læse fra serveren på værdien af input feltet også...

else if (e.altKey && mykey == "I"){
parent.frames['CallReport'].document.formularensname.skjultinput.value="incoming";
parent.frames['CallReport'].document.formularensname.submit();
}

else if (e.altKey && mykey == "O"){
parent.frames['CallReport'].document.formularensname.skjultinput.value="outgoing";
parent.frames['CallReport'].document.formularensname.submit();
}
Avatar billede mclemens Nybegynder
07. juni 2006 - 17:09 #15
... ellers så prøv bare med accesskey - det
burde også virke i IE når vi snakker om inputs...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title></head>


<body>

<form method="get" action="#">
<input type="submit" value="Incoming" accesskey="i" name="CallDirection" id="CallIncoming" style="width: 150px; height: 35px;font-size: 15pt;">

<input type="submit" value="Outgoing" accesskey="o" id="CallOutgoing" name="CallDirection" style="width: 150px; height: 35px;font-size: 15pt;">
</form>
</body></html>
Avatar billede mclemens Nybegynder
19. juni 2006 - 18:08 #16
Tak for point :o)
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