利用javascript完全屏蔽右键!

来源:岁月联盟 编辑:zhu 时间:2006-11-10
利用javascript完全屏蔽右键!内容简介:以往,对于在flash中的右键屏蔽有: 1.可以在flash中加入如下的代码: fscommand( 以往,对于在flash中的右键屏蔽有:
1.可以在flash中加入如下的代码:
fscommand("showmenu",   "false");
或stage.showmenu=false2.在html中

<OBJECT>...</OBJECT>加入<PARAM   NAME=menu   VALUE=false>这些是很简单!可不能完全屏蔽右键!
下面是利用javascript完全屏蔽右键!
首先,是html的代码如下:

<html>
<head>
<title>.....</title>

<script   language="JavaScript">

function   removeMenu(e)
{   (!e)?   e   =   window.event:"";   
            if(e.button   ==   2){window.location.replace(''javascript :void(0)'');
            myMovie.TCallFrame("hidden",   1);}
   }
function   getObj(name)
{
      if   (document.getElementById)
      {
         this.obj   =   document.getElementById(name);
   this.style   =   document.getElementById(name).style;
      }
      else   if   (document.all)
      {
   this.obj   =   document.all[name];
   this.style   =   document.all[name].style;
      }
      else   if   (document.layers)
      {
            this.obj   =   document.layers[name];
            this.style   =   document.layers[name];
      }
}
window.onload   =   function   ()   {
   var   x   =   new   getObj(''myMovie'');
   x.obj.onmousedown   =   removeMenu;
}
</script>
</head>

<body   leftmargin="0"   topmargin="0">
<OBJECT   classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"   name="myMovie"
   WIDTH="778"   HEIGHT="500"   ALIGN=""   id="myMovie">
      <PARAM   NAME=movie   VALUE="index.swf">
      <PARAM   NAME=quality   VALUE=high>
      <PARAM   NAME=wmode   VALUE=opaque>
      <PARAM   NAME=menu   VALUE=false>
      <embed   src="main.swf"   quality="high"   wmode="opaque"   menu="false"      WIDTH="778"   HEIGHT="500"   NAME="myMovie"   ALIGN   TYPE="application/x-shockwave-flash"   PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"'' target="_blank" >/xkerfiles/uppic/2006-11/10/DIV>然后,就是flash了!在main.swf中
一共就一个空元件(剪辑)!把它拖到场景中,其实例名为hidden  (注:一定要和html中的myMovie.TCallFrame("hidden",   1)同名,不然会出错的!)
好!点击右键!是不是那讨人厌菜单不见了!!
有了上面的完全屏蔽右键之后是不是想做做自己的右键菜单啊
可以,下面就在main.swf中多加个元件和几句简单的AS就可以实现!
加上一个剪辑,放到场景中,其实例名为menu
再加N个按钮放到menu上
在场景第一帖AS:


var   click_i   =   1;
this.onMouseDown   =   function()   {
            if   ((_xmouse<getProperty(menu,   _x))   ||   (_xmouse>getProperty(menu,   _x)+getProperty(menu,   _width))   ||   (_ymouse<getProperty(menu,   _y))   ||   (_ymouse>getProperty(menu,   _y)+getProperty(menu,   _height)))   {
                        _root.menu._visible   =   false;
            }
};
鼠标点击时如果不是在menu上就隐藏menu
在刚才实例名为hidden的剪辑上的AS:
第一帖:

stop();第二帖:


if   (_global.menushow)   {
            _root.menu._visible   =   true;
            _root.menu._x   =   (_root._xmouse>(778-_root.menu._width))   ?   (_root._xmouse-_root.menu._width)   :   (_root._xmouse);
            _root.menu._y   =   (_root._ymouse>(500-_root.menu._height))   ?   (_root._ymouse-_root.menu._height)   :   (_root._ymouse);
}   else   {
            _root.menu._visible   =   true;
            _global.menushow   =   true;
}在每一个按钮的


on   (release)   {

}


中一定要有一句:_root.menu._visible   =   false;
使menu隐藏!
好了!试点击右键看看自己的右键菜单吧!!