利用javascript完全屏蔽右键 |
| 作者:佚名 来源:闪吧 作者: prodig 更新:2007-1-13 21:01:36 错误报告 我要投稿 |
以往,对于在flash中的右键屏蔽有: 1.可以在flash中加入如下的代码:
fscommand("showmenu", "false"); 或stage.showmenu=false 2.在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" >http://www.macromedia.com/go/getflashplayer"; swliveconnect="true"> </OBJECT>
</body> </html>
然后,就是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隐藏! 好了!试点击右键看看自己的右键菜单吧!!
点击浏览该文件
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |