开发者

Flash - ContextMenu events don't work with IE8 and Chrome

I succeed to display the menu (ContextMenu AS3 class) but associated events (ContextMenuEvent.MENU_SELECT and ContextMenuEvent.MENU_ITEM_SELECT) don't work with IE >= 8 and Chrome >= 12:

AS file :

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;
        }
    }
}

Embed code :

<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>

Anyone knows why ? And how can I solve it ?

Thanks


The html tags required to embed an swf file are different for some browsers.

Firefox, Chrome, .. use <object> tags while IE uses tags.

Try using SWFObject, which will handle cross browser problems for you.
It even comes with a handy generator to assist you with embedding.

Cheers


I finally found the issue :

There was 2 different versions of Flash player embedded with Chrome. I just disabled one of them (chrome://plugins). I kept the '/Library/Internet Plug-Ins/' one.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜