博客首页|TW首页| 同事录|业界社区

实现思路
1、将flash放到一个div(id暂且叫pdiv吧)里(swfObject就是这么做的) ;
2、给pdiv里加onmousedown事件,判断左右键,执行pdiv.setCaptrue()函数(让此事件被文档捕获,这样就不会触发flash的mouseEvent了^__^成功了)
3、如果你想在右击时让flash做点别的事,也可以在setCaptrue后加更多代码;
4、由于pdiv.setCaptrue()后,文档不会自动释放,也就是说flash的mouseEvent在setCaptrue之后就一直不会触发了,所以要在pdiv里再加个onmouseup事件,执行pdiv.releaseCapture()去手动释放;

代码如下:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Yimin</title>
<script type=”text/javascript” src=”swfobject.js”></script>
<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=”http://www.adobe.com/go/getflashplayer” wmode=”opaque” menu=”false” allowscriptaccess=”sameDomain” algin=”middle” name=”t1″ quality=”high” bgcolor=”#000000″ src=”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”, “http://www.adobe.com/go/getflashplayer“);
so.write(”testContent”);

NoRightClick(”testContent”);
</script>
</body>


上一篇: MySQL Show命令总结
下一篇:php算开始时间到过期时间的相隔的天数,同理可以实现相隔年,小时,分,秒等数

11条评论

发表评论