2个回答
2013-07-29
展开全部
转贴 在做一个实验时遇到一个禁止flash的右键功能的问题。在网上找了很多方法,要不就完全不行,要不就浏览器不兼容。Google了一下国外的情况,终于找到了一个不错的方法。该方法用了javascript和as的结合,完美解决了问题。 以下是javascript部分代码: var RightClick = { /** * Constructor */ init: function () { this.FlashObjectID = “customRightClick”; this.FlashContainerID = “flashcontent”; this.Cache = this.FlashObjectID; if(window.addEventListener){ window.addEventListener(“mousedown”, this.onGeckoMouse(), true); } else { document.getElementById(this.FlashContainerID).onmouseup = function() { document.getElementById(RightClick.FlashContainerID).releaseCapture(); } document.oncontextmenu = function(){ if(window.event.srcElement.id == RightClick.FlashObjectID) { return false; } else { RightClick.Cache = “nan”; }} document.getElementById(this.FlashContainerID).onmousedown = RightClick.onIEMouse; } }, /** * GECKO / WEBKIT event overkill * @param {Object} eventObject */ killEvents: function(eventObject) { if(eventObject) { if (eventObject.stopPropagation) eventObject.stopPropagation(); if (eventObject.preventDefault) eventObject.preventDefault(); if (eventObject.preventCapture) eventObject.preventCapture(); if (eventObject.preventBubble) eventObject.preventBubble(); } }, /** * GECKO / WEBKIT call right click * @param {Object} ev */ onGeckoMouse: function(ev) { return function(ev) { if (ev.button != 0) { RightClick.killEvents(ev); if(ev.target.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { RightClick.call(); } RightClick.Cache = ev.target.id; } } }, /** * IE call right click * @param {Object} ev */ onIEMouse: function() { if (event.button> 1) { if(window.event.srcElement.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { RightClick.call(); } document.getElementById(RightClick.FlashContainerID).setCapture(); if(window.event.srcElement.id) RightClick.Cache = window.event.srcElement.id; } }, /** * Main call to Flash External Interface */ call: function() { document.getElementById(this.FlashObjectID).rightClick(); } } var RightClick = { /** * Constructor */ init: function () { this.FlashObjectID = "customRightClick"; this.FlashContainerID = "flashcontent"; this.Cache = this.FlashObjectID; if(window.addEventListener){ window.addEventListener("mousedown", this.onGeckoMouse(), true); } else { document.getElementById(this.FlashContainerID).onmouseup = function() { document.getElementById(RightClick.FlashContainerID).releaseCapture(); } document.oncontextmenu = function(){ if(window.event.srcElement.id == RightClick.FlashObjectID) { return false; } else { RightClick.Cache = "nan"; }} document.getElementById(this.FlashContainerID).onmousedown = RightClick.onIEMouse; } }, /** * GECKO / WEBKIT event overkill * @param {Object} eventObject */ killEvents: function(eventObject) { if(eventObject) { if (eventObject.stopPropagation) eventObject.stopPropagation(); if (eventObject.preventDefault) eventObject.preventDefault(); if (eventObject.preventCapture) eventObject.preventCapture(); if (eventObject.preventBubble) eventObject.preventBubble(); } }, /** * GECKO / WEBKIT call right click * @param {Object} ev */ onGeckoMouse: function(ev) { return function(ev) { if (ev.button != 0) { RightClick.killEvents(ev); if(ev.target.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { RightClick.call(); } RightClick.Cache = ev.target.id; } } }, /** * IE call right click * @param {Object} ev */ onIEMouse: function() { if (event.button> 1) { if(window.event.srcElement.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { RightClick.call(); } document.getElementById(RightClick.FlashContainerID).setCapture(); if(window.event.srcElement.id) RightClick.Cache = window.event.srcElement.id; } }, /** * Main call to Flash External Interface */ call: function() { document.getElementById(this.FlashObjectID).rightClick(); } }以下是as部分代码: package { import flash.display.*; import flash.external.ExternalInterface; public classclass RightClick extends Sprite { public function RightClick() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var methodName:String = “rightClick”; var method:Function = onRightClick; ExternalInterface.addCallback(methodName, method); } private function onRightClick():void { var mx:int = stage.mouseX; var my:int = stage.mouseY; if(my> 0 && my 0 && mx
// YOUR CODE HERE } } } } package { import flash.display.*; import flash.external.ExternalInterface; public classclass RightClick extends Sprite { public function RightClick() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var methodName:String = "rightClick"; var method:Function = onRightClick; ExternalInterface.addCallback(methodName, method); } private function onRightClick():void { var mx:int = stage.mouseX; var my:int = stage.mouseY; if(my> 0 && my 0 && mx支持的浏览器有: WINDOWS VISTA Internet Explorer 7.0.6001 (16549) Firefox 2.0.0.6 (with mouse gestures disabled) Maxthon 2 (with mouse gestures disabled) Safari 3.0.3 (522.15.5) Windows XP SP2 Internet Explorer 6 Internet Explorer 7 Maxthon 2 (with mouse gestures disabled) FireFox 2 (with mouse gestures disabled) Safari 3 Netscape 8 Mac OSX 10.4.10 (Intel) Firefox 2 Safari 3.0.3
// YOUR CODE HERE } } } } package { import flash.display.*; import flash.external.ExternalInterface; public classclass RightClick extends Sprite { public function RightClick() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var methodName:String = "rightClick"; var method:Function = onRightClick; ExternalInterface.addCallback(methodName, method); } private function onRightClick():void { var mx:int = stage.mouseX; var my:int = stage.mouseY; if(my> 0 && my 0 && mx支持的浏览器有: WINDOWS VISTA Internet Explorer 7.0.6001 (16549) Firefox 2.0.0.6 (with mouse gestures disabled) Maxthon 2 (with mouse gestures disabled) Safari 3.0.3 (522.15.5) Windows XP SP2 Internet Explorer 6 Internet Explorer 7 Maxthon 2 (with mouse gestures disabled) FireFox 2 (with mouse gestures disabled) Safari 3 Netscape 8 Mac OSX 10.4.10 (Intel) Firefox 2 Safari 3.0.3
2013-07-29
展开全部
Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一帧这样设置:
Fscommand ("showmenu","false");
Fscommand ("showmenu","false");
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询