在flex开发中往往会遇到这样的需求,去掉flash内置的所有右键菜单,使用自定义菜单。

经过google的搜索,终于找到了可行的办法。

基本思路是,在flex脚本中执行javascript代码,找到当前加载的flash对象,捕捉并阻止对象的鼠标点击事件,进而达到阻止flex内置菜单的功能。

注意点:

  1. flash对象的wmode必须设置为opaque

  2. flash对象的id和name属性均要设置,并且值相等。这样可以保证兼容所有浏览器。

ExternalInterface.objectID //在IE下获取的是id属性,其它浏览器获取name属性

 3. 全屏状态下右键菜单不生效。