webForumDet fria alternativet

Går det att fånga F-tangenterna med JavaScript?

3 svar · 207 visningar · startad av Harback

HarbackMedlem sedan juni 2001206 inlägg
#1

Är det någon som vet ifall man kan fånga F-tangenterna med JavaScipt? Alltså koden för tangenten, så att man kan trycka på någon av dom och det utförs någonting...

------------------
MVH
Harback

jarvkloMedlem sedan juli 20013 378 inlägg
#2

Jupp - det går bra... Till viss del...
Jag brukar fånga dem med ett funktionsanrop kopplat till onKeyUp och hämta tangentkoderna från window.event.keyCode

Kruxet är bara att de funktionskoder som värd-OS:et lagt beslag på (typ F1 eller alt-F4 i Windows) inte propagerar in i Javascriptmotorn, så dem kommer du inte åt... Om du inte kör IE under Windows förståss... För då kan du spara din webbsida med ändelsen .hta (html application) vilket ger den samma status som ett vanligt Windows-program (dvs den får då *fulla* rättigheter i systemet vilket gör att du kan låta den ta över vad som helst...)
Fast då får du förståss räkna med att din sida inte accepteras av brandväggar och säkerhetsinställningar i nätet (en .hta-sida hanteras som om den vore vilken spetälsk och virusinfekterad .exe-fil som helst av någon anledning ;) )

Mer i ämnet:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvji99/html/HTMLApplications.asp

och
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events/onkeydown.asp

HarbackMedlem sedan juni 2001206 inlägg
#3

Tackar. Kollade på dina länkar, verkar vara väldigt intressant!

Kan du kanske ge ett exempel på hur man kan göra för att typ fånga F12 och sedan skicka vidare besökaren till en annan sida, vore jättetacksam!

------------------
MVH
Harback

jarvkloMedlem sedan juli 20013 378 inlägg
#4

IE-specifikt skulle du kunna göra ungefär såhär:

<html>
	<head>
		<title>Funktionstangenter i Javascript</title>
		<script>
			function getFuncKey ()
			{
				var keyCode = window.event.keyCode;

				switch (keyCode) {
					case 112:
							window.alert("F1");
						break;
					case 113:
							window.alert("F2");
						break;
					case 114:
							window.alert("F3");
						break;
					case 115:
							window.alert("F4");
						break;
					case 116:
							window.alert("F5");
						break;
					case 117:
							window.alert("F6");
						break;
					case 118:
							window.alert("F7");
						break;
					case 119:
							window.alert("F8");
						break;
					case 120:
							window.alert("F9");
						break;
					case 121:
							window.alert("F10");
						break;
					case 122:
							window.alert("F11");
						break;
					case 123:
							window.alert("F12");
						break;
					default:
						break;
				}
			}

		</script>
	</head>
	<body onkeyup="getFuncKey ();">
		Tryck på funktionstangenterna så får du se deras värden (vädena för shift, ctrl m.fl kollar du "som vanligt" ;)
	</body>
</html>

Har inte klurat på hur man gör detta i NN, bara kört det i en ".hta"-applikation (so far)...

Browser-independence - någon ? ;)

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)