2011-06-17 60 views
0

我成功显示菜单(ContextMenu AS3类),但关联的事件(ContextMenuEvent.MENU_SELECT和ContextMenuEvent.MENU_ITEM_SELECT)不能在IE> = 8和Chrome> = 12:Flash - ContextMenu事件不适用于IE8和Chrome

AS文件:

package 
{ 
    import flash.display.*; 
    import flash.ui.*; 
    import flash.events.*; 

    public class TestContextMenu extends MovieClip 
    { 
     private var _contextMenu : ContextMenu; 

     public function TestContextMenu() 
     { 
      _contextMenu = new ContextMenu(); 

      _contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, function (event : ContextMenuEvent) : void { 
       trace('Menu displayed'); 
      }); 

      var menuItem : ContextMenuItem = new ContextMenuItem('Item 1'); 

      menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function (event: ContextMenuEvent) : void { 
       trace('Menu item selected'); 
      }); 

      _contextMenu.customItems.push(menuItem); 

      contextMenu = _contextMenu; 
     } 
    } 
} 

嵌入代码:

<object style="height: 390px; width: 640px"> 
    <param name="movie" value="menu.swf"> 
    <param name="allowFullScreen" value="true"> 
    <param name="allowScriptAccess" value="always"> 
    <embed src="menu.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"> 
</object> 

任何人都知道这是为什么?我该如何解决它?

谢谢

+0

你是如何将.swf嵌入你的html页面的?你能不能告诉我们你的代码 – 2011-06-17 10:18:13

回答

0

我终于找到了问题:

有2个不同的版本,嵌入浏览器的Flash播放器。我只是禁用了其中一个(chrome://插件)。我保留了'/ Library/Internet Plug-Ins /'一个。

0

嵌入swf文件所需的html标签对于某些浏览器是不同的。

Firefox,Chrome,..使用<object>标签,而IE使用标签。

尝试使用SWFObject,它将为您处理跨浏览器问题。
它甚至还附带handy generator以帮助您嵌入。

干杯

相关问题