Javascript drag&drop és popupmenu tiltása hogyan?

Javascript drag&drop és popupmenu tiltása hogyan?
2005-09-17T00:45:30+02:00
2005-09-17T09:50:27+02:00
2022-10-27T02:42:04+02:00
codebuilder
Adott egy keretes weboldal. A navigátor részben a linkek találhatóak (ki hitte volna )
és az a bajom, hogy, ha a felhasználó ügyetlen, akkor sikerül drag&drop eseményt elindítania, amelynek révén nem a keretes ablak fő részében jelenik meg az oldal, hanem betölti azt teljes ömmagában. Erre kellene a drag&drop tiltása. Másik sebezhetőség a popup menüből választható megnyitás új ablakban parancs. Ezzel megint csak rossz helyre kerül a link által mutatott tartalom.
Annyi biztos, hogy javascriptben kellene megoldani, de nincs elképzelésem, hogyan, igazából nem rajongok a javascriptért.
Mutasd a teljes hozzászólást!
Az új ablak elkerülésére egy trükk.

Amikor megnyitod az oldalt, akkor megnézed, hogy a szülő (parent.location.href) megfelel-e neked.
Tehát a te keretes oldalad-e.

Ha igen, akkor minden rendben.

Ha nem, akkor megnézed, hogy az opener objektum létezik-e, ha igen akkor javascriptbe kiadsz egy
opener.parent.keretnev.location.href="oldalam.htm"
parancsot (vagy persze megfelelően beállítva a te keretedre), és bezáratod az ablakot, amit nyitott az illető.


Ugyan ezt megcsinálhatod a saját maga helyére teljes képernyőbe nyitásra is.
Ha nincs opener, de a parent cím nem a keret címe, akkor töltse be magát keretesen.
Mutasd a teljes hozzászólást!

  • Szerintem szerencsere ezt nem lehet letiltani...
    Mutasd a teljes hozzászólást!
  • Akkor legalább a drag&drop működését lehessen az oldalamon korlátozni.
    Hogyan lehetne akkor átlakítani a drag&drop üzenetet click üzenetté?
    Mutasd a teljes hozzászólást!
  • Ez mar OS szintu, nehogymar egy weboldal belenyukaljon. Szerintem felejtsd el. Legalabbis remelem, hogy nem derul ki az ellenkezoje annak amit mondtam.
    Mutasd a teljes hozzászólást!
  • Üdv !

    IE és a Mozilla (Netscape) nem egyformán csinálja. Egyiknél az onmousemove, a másiknál az onmousedown eseményt kell "elcsípni", és megszakítani. Megoldható egy kompatibilis rutin, amelyik ketté választja (kivélasztja) a böngészőt. (ie-opera / N-Moz-Firew).
    Bővebb infóért dobj mélt.
    Mutasd a teljes hozzászólást!
  • Az új ablak elkerülésére egy trükk.

    Amikor megnyitod az oldalt, akkor megnézed, hogy a szülő (parent.location.href) megfelel-e neked.
    Tehát a te keretes oldalad-e.

    Ha igen, akkor minden rendben.

    Ha nem, akkor megnézed, hogy az opener objektum létezik-e, ha igen akkor javascriptbe kiadsz egy
    opener.parent.keretnev.location.href="oldalam.htm"
    parancsot (vagy persze megfelelően beállítva a te keretedre), és bezáratod az ablakot, amit nyitott az illető.


    Ugyan ezt megcsinálhatod a saját maga helyére teljes képernyőbe nyitásra is.
    Ha nincs opener, de a parent cím nem a keret címe, akkor töltse be magát keretesen.
    Mutasd a teljes hozzászólást!
  • Nálam most ez van:

    <script language="JavaScript" type="text/JavaScript">
    if (parent == self) { top.location = "index.php";}
    </script>

    a főkeretben ez a script van.
    az index.php pedig meghívja a frame.php-t
    popup ablakba. Itt aztán be lehet jelentkezni a rendszerbe, ill. ki lehet jelentkezni. Egyelőre a szerveren nem tárolom, hogy belépett vagy sem a user. Ha bezárja az ablakot akkor is ki kell léptetni, amit úgy oldottam meg, hogy ha valaki betölti újra az oldalt, akkor $_SESSION tömb értékét törlöm. Ez az indexben történik meg.
    Ezért kellene nekem inkább elkapnom a drag&dropot, hogy ne történjen semmi.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd