2

当 Plupload 决定使用 Flash 但浏览器不支持它时,我需要显示一条信息消息。

目前,在 plupload.init() 之后没有任何反应(TM),即使 API 指定了一个“运行时”属性,它应该命名使用的运行时,我也找不到找到当前使用的运行时的方法。

这会导致上传按钮不起作用,并且用户不明白发生了什么。

我正在寻找的是这样的:

if(plupload.runtime == "flash" && !detect_flash()) {
    $("#flash_warning").show();
}
4

1 回答 1

1

不幸的是,失败的运行时加载尝试似乎不会触发您可以订阅的任何事件。因此,除了修改 plupload 源之外,我看不到任何订阅失败的运行时加载尝试的方法。

打开 plupload.js 或 pluploadfull.js,查找 '.init(' 的第一个匹配项。您要订阅的是处理加载尝试的回调函数的 'else' 部分(就在调用 w() 之前下一行的结尾)

G.init(B,function(H){if(H&&H.success){B.features=F;B.runtime=G.name;B.trigger("Init",{runtime:G.name});B.trigger("PostInit");B.refresh()}else{w()}})

无论如何,在我看来,最好的办法是按照示例进行操作,并在应该容纳上传者的容器中添加免责声明消息。这样,如果所有运行时都无法加载,您将收到免责声明消息。

于 2012-04-05T13:54:09.857 回答