Results 1 to 12 of 12

Thread: How to hide swf menu items?

  1. #1

    Pallete How to hide swf menu items?

    Is it possible to hide swf menu items?

  2. #2
    125
    posts
    Registered User
    Yes

  3. #3

    Pallete

    how to do it? guide me

  4. #4
    You can remove all context menu items EXCEPT for Settings and About.
    http://help.adobe.com/en_US/AS3LCR/F...ntextMenu.html
    Custom menu items always appear at the top of the Flash Player context menu, above any visible built-in menu items; a separator bar distinguishes built-in and custom menu items. You cannot remove the Settings menu item from the context menu. The Settings menu item is required in Flash so that users can access the settings that affect privacy and storage on their computers. You also cannot remove the About menu item, which is required so that users can find out what version of Flash Player they are using. (In AIR, the built-in Settings and About menu items are not used.)
    Just look into the ContextMenu class I linked to above.
    Blog article of the month: Why My One Line 'if' Statements Are Unusual
    Twitter: @IQAndreas
    GitHub: IQAndreas

  5. #5
    232
    posts
    Registered User
    var myMenu:ContextMenu = new ContextMenu();
    myMenu.hideBuiltInItems();
    this.contextMenu = myMenu;

    But as IqAndreas said, you'll still see Settings and About, although I once read somewhere that there is a override possible with JS to completly disable the right click context menu, and even make a custom one.

  6. #6

    Pallete

    thanks

  7. #7

    you can create your own Context menu like this:

    Code:
     
    var contextmenu:ContextMenu=new ContextMenu;
    var contentMenuItem:String="Edit";
     
    contextmenu.hideBuiltInItems();
    var item=new ContextMenuItem(contentMenuItem);
    contextmenu.customItems.push(item);
    this.contextMenu=contextmenu;
    Learn from your mistakes/fault.Never make any mistake/fault....

  8. #8
    if ur final output is Browser then go with it..


    Add this in rightClick.js

    Code:
    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();
     }
     
    }

    add this to swfobject.js

    Code:
    if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

    now embed ur swf with object embed tag as follows:

    HTML Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MSWord 2010</title>
    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript" src="rightClick.js"></script>
    </head>
    <body onload="RightClick.init();">
    <table border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center">
    <div id="flashcontent">Flash Player 9 required</div>
    </td>
      </tr>
    </table>
    <script type="text/javascript">
          var so = new SWFObject("preloader.swf", "customRightClick", "1280", "798", "9");
       so.addParam("quality", "high");
       so.addParam("name", "customRightClick");
       so.addParam("id", "customRightClick");
       so.addParam("AllowScriptAccess", "always");
       so.addParam("wmode", "opaque");
       so.addParam("menu", "false");
       so.write("flashcontent");
      </script>
    </body>
    </html>
    now you can call your custom function on right click with following code in ur swf

    Code:
    var methodName:String = "rightClick";
      ExternalInterface.addCallback (methodName,onRightClick);

  9. #9

    Pallete

    thanks for your code it was more useful.

  10. #10
    ur most welcome

  11. #11

    Doesn't work in IE

    Hi,

    This is code does not work in IE anymore. I have been trying unsuccessfully to troubleshoot the issue. Can anyone help me test in the latest versions of IE and provide a fix?

    Edit: In fact it only seems to work on my mac, I just tested FF on windows as well and it doesn't work there either. Maybe it's a windows FlashPlayer version thing?

    Thanks

    Edit: nevermind, I got it working now with SWFObject 1.5 instead of 2.2
    Last edited by websitedesignby; July 13th, 2011 at 08:35 AM.

  12. #12

    solution for IE

    at the end of rightClick.js file
    replace this line:document.getElementById(this.FlashObjectID).rightC lick();with this line:
    document.getElementById(this.FlashObjectID).rightC lick;

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Home About kirupa.com Meet the Moderators Advertise

 Link to Us

 Credits

Copyright 1999 - 2012