C# - Script-ötletek weblapra

forráskód letöltése
Cikkünkben két apróságot mutatunk be a kliens-oldali script-ek témakörében. A példa első részében megismerkedhetünk azzal, hogy miként vezérelhetjük a weblapon elérhető funkciókat egy billentyű, vagy billentyűkombináció lenyomásával. A cikk második részében bemutatjuk, hogy miként akadályozhatjuk meg, hogy a felhasználó elérje az oldal forráskódját.
Mellékelt példa megnyitása előtt szükséges egy ScriptTechs nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
Funkciók elérése billentyűlenyomással
A WebForm1.aspx weblapon elhelyeztünk egy MENTÉS feliratú hivatkozást, melynek csak az első karaktere aláhúzott, jelezve, hogy a kattintással elérhető funkció az ALT és a M billentyűk együttes lenyomásával is elérhető.
A linkre kattintva elérhetjük, hogy a weblap tartalma elmentésre kerüljön egy, a felhasználó által megadott mappában.
A mentést a doSave javascript függvényünk végzi el az execCommand metódus meghívásával, paraméterként a „SaveAs” karakterláncot átadva.
function doSave()
{
  document.execCommand("SaveAs");
}
Annak érdekében, hogy a leütött billentyűkombinációt megfelelően értelmezni tudjuk, deklarálunk egy változót, melyet TRUE értékűre állítunk, ha az ALT billentyűt ütötte le a felhasználó:
var altKey = false;
Majd a readKey függvényünkkel megvizsgáljuk, hogy a leütött billentyűkombináció az ALT+M, vagy sem:
function readKey(e)
{
  if(e.keyCode == 18)
  {
    altKey = true;
  }
Ha az első karakter az ALT, a változót igazra állítjuk, és megvizsgáljuk, hogy a második M-e. Ha igen, meghívjuk a doSave függvényt:
  if(e.keyCode == 77 && altKey)
  {
    doSave();
  }
}
A függvényt a <body> tag onkeydown attribútumában adjuk meg, paraméterében az esemény objektumával:
<body ... onkeydown="readKey(event)"...>
Forrás letiltása
A weblapok felületén az egér jobb gombjával kattintva elérhetünk egy gyorsmenüt, melyből a megfelelőt kiválasztva megtekinthetjük az adott oldal forrását. Ez azonban letiltható, vagyis egy kis trükkel elrejthető.
Ennek érdekében a <body> elem oncontextmenu attribútumának adunk egy értéket, amelynek segítségével elérhetjük, hogy a menü ne jelenjen meg.
A példában az egyszerűség kedvéért a műveletre megjelenítünk egy figyelmeztető panelt:
<body ... oncontextmenu="alert('A forrás nem elérhető!');return false">