0

我有一个动画透明flash文件,这个文件应该是全屏的,

在这个动画中,我有一只鸟,它应该从左到右飞,这个动作是在 flash 文件上,我以透明模式发布了 flash 文件,

现在我应该在所有图层的顶部插入这个 SWF 文件。

我可以做到这一点divposition但是当我点击这个页面的任何地方时,我会得到默认的 Flash 菜单。

如何将 Flash 菜单限制在可见区域?

更新:我的意思是全宽,

Flash 为我创建的 HTML 代码是这样的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>Untitled-1</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css" media="screen">
        html, body { height:100%; background-color: #ffffff;}
        body { margin:0; padding:0; overflow:hidden; }
        #flashContent { width:100%; height:100%; }
        </style>
    </head>
    <body>
    <a href="#">TEST</a>
        <div id="flashContent">
            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1280" height="853" id="Untitled-1" align="middle">
                <param name="movie" value="Untitled-1.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffffff" />
                <param name="play" value="true" />
                <param name="loop" value="false" />
                <param name="wmode" value="transparent" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="Untitled-1.swf" width="1280" height="853">
                    <param name="movie" value="Untitled-1.swf" />
                    <param name="quality" value="high" />
                    <param name="bgcolor" value="#ffffff" />
                    <param name="play" value="true" />
                    <param name="loop" value="false" />
                    <param name="wmode" value="transparent" />
                    <param name="scale" value="showall" />
                    <param name="menu" value="true" />
                    <param name="devicefont" value="false" />
                    <param name="salign" value="" />
                    <param name="allowScriptAccess" value="sameDomain" />
                <!--<![endif]-->
                    <a href="http://www.adobe.com/go/getflash">
                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                    </a>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    </body>
</html>
4

2 回答 2

0

好吧,如果您希望禁用菜单,那么您无法使用 html 或 js 执行此操作,但您可以使用如下操作脚本在您的 flash 文件中执行操作:

Stage.showMenu=false;

或者您可以禁用右键单击您的网页,如下所示:

<script language="javascript">
document.onmousedown=disableclick;
function disableclick(e)
{
  if(event.button==2)
   {
     return false;    
   }
}
</script>

<body oncontextmenu="return false">
...
</body>
于 2013-06-11T12:18:49.037 回答
0

问题是 Flash 是透明的,但它位于 HTML 之上。点击会在 Flash 元素上产生一个点击事件,阻止你网站上的其他东西。

使用 jQuery 很容易解决这个问题。您将需要获取单击事件的坐标,然后触发对具有相同坐标的页面 HTML 元素的单击。

$('#flashContent').click(function(e){
    evt = e || window.event;

    // make flash disappear
    $('#flashContent').hide();

    // get element at point of click
    starter = document.elementFromPoint(evt.clientX, evt.clientY);

    // send click to element at finger point
    $(starter).click();

    // bring back the flash
    $('#flashContent').show();
});

这在大多数情况下都有效。如果您还没有使用 jQuery ,请记住在该head部分中包含 jQuery 库并将此函数包装在函数中。document.ready

注意:对于右键单击,您应该执行与此类似的功能。相反,它将侦听右键单击事件。

希望对你有所帮助。

于 2013-06-11T14:09:47.933 回答