网上好多屏蔽flash右键的方法,可多数是过期的或不合适的,现记录下用方法屏蔽flash右键相关版权信息。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Yimin</title>
<script type="text/javascript">
function NoRightClick(pid){
//pid:flash's parentNode id
var el = document.getElementById(pid);
if(el.addEventListener){
el.addEventListener("mousedown",function(event){
if(event.button == 2){
event.stopPropagation(); //for firefox
event.preventDefault(); //for chrome
}
},true);
}else{
el.attachEvent("onmousedown",function(){
if(event.button == 2){
el.setCapture();
}
});
el.attachEvent("onmouseup",function(){
el.releaseCapture();
});
el.oncontextmenu = function(){
return false;
};
}
};
</script>
</head>
<body>
<div id="testContent" style="width:800px">
<embed id="t1" height="780px" width="750" pluginspage="" wmode="opaque" menu="false" allowscriptaccess="sameDomain" algin="middle" name="t1" quality="high" bgcolor="#000000" style="" src=http://www.jzxue.com/wangzhankaifa/javascript-ajax/201001/"test.swf" type="application/x-shockwave-flash"/>
</div>
<script type="text/javascript">
var so = new SWFObject("test.swf", "t1", "800", "550", "9", "#000000");
so.addParam("quality", "high");
so.addParam("name", "t1");
so.addParam("id", "t1");
so.addParam("algin", "middle");
so.addParam("AllowScriptAccess", "sameDomain");
so.addParam("menu", "false");
so.addParam("wmode", "opaque");
so.addParam("pluginspage", "");
so.write("testContent");
NoRightClick("testContent");
</script>
</body>
</html>
经过试验,该代码可以在IE、Firefox和Google Chrome里去掉flash的右键菜单,还是挺方便的。