Javascript SWFUP加载选项按钮\光标不工作
我正在使用swfupload插件(http://demo.swfupload.org/Documentation/)上载多个文件。我定义了以下swfupload设置对象。一切正常,只是光标没有变为“手动”形式。代码如下:Javascript SWFUP加载选项按钮\光标不工作,javascript,flash,swfobject,Javascript,Flash,Swfobject,我正在使用swfupload插件(http://demo.swfupload.org/Documentation/)上载多个文件。我定义了以下swfupload设置对象。一切正常,只是光标没有变为“手动”形式。代码如下: var initialize_swfupload_for_image = function () { if ($('#image-attach').length == 0){ return; } var url = $('#image-attach').data('url
var initialize_swfupload_for_image = function () {
if ($('#image-attach').length == 0){
return;
}
var url = $('#image-attach').data('url');
var params = $('#image-attach').data('params');
var buttonStyle = '.image-link {color: #FFF' +
';text-align: center'+
';} ' +
'.image-link:hover {color: #0FF' +
';} ';
var settings = {
upload_url:url,
flash_url: "<%= asset_path('swfupload/swfupload.swf') %>",
flash9_url: "<%= asset_path('swfupload/swfupload_fp9.swf') %>",
http_success:[ 200, 201, 204 ],
file_post_name:"file",
file_types: "*.jpg; *.gif; *.png; *.jpeg",
file_upload_limit:1,
file_queue_limit:0,
file_size_limit:"10 MB",
prevent_swf_caching:false,
custom_settings:{
progressTarget:"divImageProgressContainer",
cancelButtonId:"btnImageCancel"
},
button_placeholder_id:"image-attach",
button_text: "<span class='image-link'>Edit Photo</span>",
button_text_style: buttonStyle,
button_width: 90,
button_height: 20,
button_cursor:SWFUpload.CURSOR.HAND,
button_window_mode:SWFUpload.WINDOW_MODE.TRANSPARENT,
button_action:SWFUpload.BUTTON_ACTION.SELECT_FILE,
file_queued_handler:fileQueued,
file_queue_error_handler:fileQueueError,
file_dialog_complete_handler:fileDialogComplete,
upload_start_handler:uploadStartImage,
upload_error_handler:uploadError,
upload_progress_handler:uploadProgressImage,
upload_success_handler:uploadSuccessImage,
upload_complete_handler:uploadCompleteImage,
queue_complete_handler:uploadCompleteImage,
post_params:params
};
if (FlashDetect.versionAtLeast(9)) {
swf_image = new SWFUpload(settings);
} else {
//intentionally left blank
//TODO: javascript fallback when swfupload doesn't work
}
var initialize\u swfupload\u for\u image=函数(){
如果($('#图像附加')。长度==0){
返回;
}
var url=$('#图像附加')。数据('url');
var params=$('#图像附加')。数据('params');
var buttonStyle='.image链接{color:#FFF'+
“;文本对齐:居中”+
';} ' +
'.image链接:悬停{color:#0FF'+
';} ';
变量设置={
上传url:url,
flash_url:“”,
flash9_url:“”,
http_success:[200201204],
文件名:“文件”,
文件类型:“*.jpg;*.gif;*.png;*.jpeg”,
文件上传限制:1,
文件队列限制:0,
文件大小限制:“10MB”,
阻止\u swf\u缓存:false,
自定义\u设置:{
progressTarget:“divImageProgressContainer”,
cancelButtonId:“btnImageCancel”
},
按钮\u占位符\u id:“图像附加”,
按钮文本:“编辑照片”,
按钮文字样式:按钮样式,
按钮宽度:90,
按钮高度:20,
按钮光标:SWFUpload.cursor.HAND,
按钮窗口模式:SWFUpload.window\u mode.TRANSPARENT,
按钮操作:SWFUpload.button\u action.SELECT\u文件,
文件队列处理程序:文件队列,
文件队列错误处理程序:fileQueueError,
文件对话框完成处理程序:文件对话框完成,
上载\u开始\u处理程序:上载开始时间,
上载错误\u处理程序:上载错误,
upload\u progress\u处理程序:uploadProgressImage,
上载成功\u处理程序:上载成功图像,
upload_complete_处理程序:uploadCompleteImage,
队列完成处理程序:uploadCompleteImage,
后参数:参数
};
if(FlashDetect.versionAtlast(9)){
swf_图像=新的SWFUpload(设置);
}否则{
//故意留白
//TODO:swfupload不工作时javascript回退
}
任何关于光标悬停在对象上时为什么没有改变的见解都会非常有用。我也遇到过同样的问题。在我的案例中,罪魁祸首是我意外添加到
按钮宽度和按钮高度的“px”属性:按钮宽度:“20px”
您的问题显然不是同一个问题,但可能与您向SWFUpload传递的值无效有关
我复制了你的代码,在清理完自定义内容后,我毫不费力地将其显示出来(甚至没有做任何更改)。下面是代码,使用swfupload.swf 2.2.0.1和swfupload.js 2.2.0 2009-03-25进行了测试(注意swfupload.swf和swfupload.js与html文件位于同一文件夹中):
指数
var init=函数(){
变量设置={
上传url:“url”,
flash_url:“swfupload.swf”,
http_success:[200201204],
文件名:“文件”,
文件类型:“*.jpg;*.gif;*.png;*.jpeg”,
文件上传限制:1,
文件队列限制:0,
文件大小限制:“10MB”,
阻止\u swf\u缓存:false,
自定义\u设置:{
progressTarget:“divImageProgressContainer”,
cancelButtonId:“btnImageCancel”
},
按钮\u占位符\u id:“图像附加”,
按钮文本:“编辑照片”,
按钮宽度:90,
按钮高度:20,
按钮光标:SWFUpload.cursor.HAND,
按钮窗口模式:SWFUpload.window\u mode.TRANSPARENT,
按钮操作:SWFUpload.button\u action.SELECT\u文件,
};
swf_图像=新的SWFUpload(设置);
}
我猜测SWFUpload可能不喜欢其中一个参数(例如
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>index</title>
<script type="text/javascript" src="swfupload.js"></script>
<script type="text/javascript" charset="utf-8">
var init = function () {
var settings = {
upload_url:'url',
flash_url: "swfupload.swf",
http_success:[ 200, 201, 204 ],
file_post_name:"file",
file_types: "*.jpg; *.gif; *.png; *.jpeg",
file_upload_limit:1,
file_queue_limit:0,
file_size_limit:"10 MB",
prevent_swf_caching:false,
custom_settings:{
progressTarget:"divImageProgressContainer",
cancelButtonId:"btnImageCancel"
},
button_placeholder_id:"image-attach",
button_text: "<span class='image-link'>Edit Photo</span>",
button_width: 90,
button_height: 20,
button_cursor:SWFUpload.CURSOR.HAND,
button_window_mode:SWFUpload.WINDOW_MODE.TRANSPARENT,
button_action:SWFUpload.BUTTON_ACTION.SELECT_FILE,
};
swf_image = new SWFUpload(settings);
}
</script>
</head>
<body id="index" onload="init()">
<div style="width:100px;height:100px;background-color:blue">
<div id="image-attach"></div>
</div>
</body>
</html>