在SWFUpload按钮中WMODE = TRANSPARENT时,单击不会触发

时间:2010-01-01 15:59:08

标签: html flash swfupload

我在HTML页面中有一个基于Flash的SWFUpload上传按钮。

我正在尝试设置该按钮的样式。 SWFUpload为Flash按钮的设置提供了Javascript设置界面。我自己没有Flash,所以我必须使用预编译的SWF文件。

   ..... 
   button_width: "100",
   button_height: "20",
   button_placeholder_id: "spanButtonPlaceHolder",
   button_text: '<span class="theFont">Upload</span>',
   button_text_style: ".theFont { font-size: 18; font-family: Verdana; color: #FFFFFF; }",
   button_text_left_padding
   .... 

现在,我希望该按钮符合其所在的HTML元素的背景颜色。我不关心我是通过透明度还是通过给闪光灯按钮颜色来实现这一点。但是SWFUpload 2.20没有设置来再指定背景颜色,我不想使用具有指定颜色的背景图像。

我试过

   button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,

这为我提供了一个透明按钮,但它不再对点击事件做出反应。即使我点击文字的微小白色像素也不行。

我尝试给它一个透明的背景图片:

    button_image_url : "$swfupload_widget_webroot/images/transparent.png", // 1x1 Pixel 
    button_image_width: 100, 
    button_image_height: 20,

但无济于事。

有人知道该怎么做吗?

为什么设置为transparent

时影片不会再处理点击

我在Windows 7上测试Firefox 3.5。

2 个答案:

答案 0 :(得分:2)

透明和不透明等窗口模式因其造成的奇怪输入错误而臭名昭着。当你可以的时候,远离它绝对是一个好主意。

我没有使用过SWFUpload,所以我不完全确定如何嵌入SWF文件。但不管具体细节如何,最后我确定它使用的是embed / object标签,对于那些,还有 bgcolor 参数覆盖了SWF文件中指定的背景颜色。我建议考虑a look at this parameter (scroll down)

SWFObject是使用javascript动态嵌入SWF文件的常用方法。如果是SWFUpload使用的,您应该能够应用以下原则来设置bgcolor参数:

var params = {
  bgcolor: #ffcc00,
};

swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0",
  "expressInstall.swf", {}, params, {});

正如我所说,我不确定SWFUpload接口是什么样的,但关键是要找到一种方法来指定嵌入参数。希望这至少会推动你朝着正确的方向前进!

答案 1 :(得分:2)

我注意到,当mode = transparent或mode = opaque时,flash看到鼠标不是点击。所以在flash文件中我改变了按钮动作

  

on(release){

  

on(rollOver){

你不知道,它有效。这有点古怪,因为人们无论如何都会点击它,并且必须将鼠标从按钮上移开以再次“点击”它。但它比重新设计整个主页菜单更好,因为客户想要一个flash横幅。 当然,如果你没有能力编辑flash文件本身,那么遗憾的是这无济于事。