Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Windsurfer #1517 üzenetére

    Hali!
    Így kell csinálni a jobbklikkes menü letiltását:
    http://www.dynamicdrive.com/dynamicindex9/noright.htm
    A forráskódban beteszed a <body> részbe ezt:

    <script language=JavaScript>
    <!--

    // FORRÁS: http://www.dynamicdrive.com/dynamicindex9/noright.htm
    //Disable right mouse click Script
    //By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive
    //For full source code, visit http://www.dynamicdrive.com

    var message="Function Disabled!";

    ///////////////////////////////////
    function clickIE4(){
    if (event.button==2){
    alert(message);
    return false;
    }
    }

    function clickNS4(e){
    if (document.layers||document.getElementById&&!document.all){
    if (e.which==2||e.which==3){
    alert(message);
    return false;
    }
    }
    }

    if (document.layers){
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
    }
    else if (document.all&&!document.getElementById){
    document.onmousedown=clickIE4;
    }

    document.oncontextmenu=new Function("alert(message);return false");

    // -->
    </script>

    A "message" változó tartalmát átírhatod arra, amit szeretnél kiíratni, ha jobb klikkel kattintanak az oldalon. (Persze meg lehet csinálni azt is, hogy ne dobáljon fel ablakokat, ami figyelmeztet, hogy le van tiltva a dolog.)

    Érdemes viszont megfontolni, hogy miért NEM érdemes kikapcsolni a jobbklikkes menüt:
    Don't Disable Right Click!

    A lényeg belőle:
    ■ idegesítő (az ember sokszor használja a jobbklikkes menüjét, és mérges lesz, ha ettől a lehetőségétől egy oldal fenntartója meg akarja fosztani)
    ■ a dokumentum és képek védelme szempontjából értelmetlen, aki akarja, úgyis megszerzi, sőt - a cikk írója szerint - adott esetben pont azt válthatja ki, hogy már csak azért is megszerzik a kódodat/képeidet (ellenkező hatás, mint amit el akartál érni)
    ■ a JavaScriptet bárki bármikor kikapcsolhatja a böngészőjében
    ■ sok böngészőben lehet ún. egérmozdulatokat jobb egérgomb segítségével végrehajtani, ha ennek lehetőségét ezzel megszünteted, akkor nem biztos, hogy túl "népszerű" leszel a felhasználóid szemében
    ■ sokan jobb klikkes menüből akarnak megnyitni új ablakot az új linkekhez, hogy ne kelljen a "Vissza" gombra menni az eredeti oldalra való visszatéréshez, ennek letiltásával ismét csak zavarsz néhány felhasználót
    ■ sértő lehet, ha eleve rossz szándékot feltételezel a látogatókról (pl. képek vagy forráskód lenyúlása, amit így is meg tud tenni). A látogatók nagy többsége nem azért nézi meg az oldaladat, hogy onnan valamit ellopjon, lenyúljon. Ezenkívül vannak, akik csak kíváncsiak bizonyos kódrészekre, nem feltétlenül fogják saját oldalra bemásolni is azt. (ez ismét csak akkor érdekes, ha jobb klikkel szeretnének belemenni a forráskódnézőkébe)
    ■ más, kevesebb hátránnyal járó módszerek is léteznek a dokumentumod védelmére (ezek olvashatók a 2. oldalon)
    _______________________________________________________________

    Ugyanez az oldal ajánlja azt a linket is, amin csak a képekre való jobbklikkelést letiltása olvasható: http://javascript.internet.com/page-details/disable-images-click.html

    a <head> részbe ezt másold:

    <SCRIPT LANGUAGE="JavaScript">

    <!-- This script and many more are available free online at -->
    <!-- The JavaScript Source!! http://javascript.internet.com -->

    <!-- Begin
    function right(e) {
    var msg = "Sorry, you don't have permission to right-click.";
    if (navigator.appName == 'Netscape' && e.which == 3) {
    alert(msg);
    return false;
    }
    if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) {
    alert(msg);
    return false;
    }
    else return true;
    }

    function trap()
    {
    if(document.images)
    {
    for(i=0;i<document.images.length;i++)
    {
    document.images[i].onmousedown = right;
    document.images[i].onmouseup = right;
    }
    }
    }
    // End -->
    </SCRIPT>

    Ahol a <body> van, azt a sort meg cseréld ki így:
    <body onLoad="trap();">

    Remélem segítettem. :)

    Sk8erPeter

Új hozzászólás Aktív témák