本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2005-12-26 · 原址 http://flash8.net/teach/4095.htm ← Flash 保存计划

怎么禁止Flash的右键菜单

作者:闪吧   类型:原创   来源:闪吧

  怎么禁止Flash的右键菜单
解决思路
首先明确我们的目的,也就是一个具体的效果:当我们在Flash上单击右键时所弹   出的菜单不再是那个包含【Zoom in】的菜单,因为我们有时不想让用户通过此菜单随意更改Flash 实际效果。屏蔽这个菜单的方法有很多。
具体步骤
1.最简单的就是在Flash中加上一句Action Script了,而且这种方法不仅使swf在网中显示不了【Zoom in】菜单,而且即使在缓存里找到这个swf,它的本身也是屏蔽的。

Stage.showMenu=false;

2.在发布Flash时或在网页中设置 Flash 的 menu 参数为 false。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
<param name="movie" value="demo.swf">
<param name="menu" value="false">
<param name="quality" value="high">
<embed src="demo.swf" quality="high"
 pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60" menu="false"></embed>
</object>

3.设置 Flash 的 wmode 参数为 transparent 或 opaque,然后用一个透明并禁止右键的层挡住Flash。

      <span style="width:468;height:60;position:absolute;left:10;top:15;background:green;filter:alpha(opacity=0)" oncontextmenu="return false"></span>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
<param name="movie" value="demo.swf">
<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="demo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60" wmode="Opaque"></embed>
</object>

4.方法3在应用时显得比较复杂,所以还需要改进。

<body oncontextmenu="return false"> 
<button  disabled style="width:200;height:200;border:0">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
<param name="movie" value="demo.swf">
<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="demo.swf" quality="high"
 pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60" wmode="Opaque"></embed>
</object>
</button>

特别提示
方法一和二的代码运行后,在Flash上单击右键,将仍然显示右键菜单,但只有两项,如图5.1.12所示,而方法三和方法四的代码运行后,在Flash上单击右键,将不弹出任何右键菜单。

图5.1.12 未完全禁止的Flash右键菜单



特别说明


一般来说,用第1、2种方法来禁止Flash的右键菜单就可以了,但如果要彻底禁止,就必须用第3、四种方法。本例主要是Flash对象的menu属性的应用。
   责任编辑:kissall    时间:2005年8月29日

正在加载评论...