从上次更新chrome(版本36.0.1985.125 m)我有uplodify插件/ flash的问题。 Chrome显示了Aw,Snap Page或者有时候他已经死了,Jim!这是我的uplodify代码:
<input type="file" name="file_upload" id="file_upload_50">
<script type="text/javascript">
var basePath = "path to ressources";
var errorMessage = "Error Message";
var allowExts = "*.pdf; *.xls; *.xlsx; *.rar; *.zip";
$(document).ready(function() {
var is_error = false;
$('#file_upload_50').uploadify({
'swf': basePath + '/uploadify/uploadify.swf',
'uploader': "uploader.php",
'height': 25,
'buttonText': "Upload",
'fileTypeExts': allowExts,
'fileTypeDesc': "Formats:" + allowExts,
'formData': {
'user_id': 50,
'company_id': 1
},
'onUploadError': function(file, errorCode, errorMsg, errorString) {
alert(errorMessage);
is_error = true;
},
'onUploadSuccess': function(file, data, response) {
var result = $.parseJSON(data);
if (!result.result) {
alert(result.error_msg);
is_error = true;
}
},
'onQueueComplete': function(queueData) {
if (!is_error) {
document.location.href = "result_page.html";
}
}
});
});
</script>
问题出在哪里?你能给我一些建议吗?我很无奈。感谢
答案 0 :(得分:15)
我发现添加setTimeout
修复此问题。这表示Chrome / Chrome的Flash实施/ Uploadify的Flash应用中存在竞争条件,其情况尚不清楚。尽管如此,它似乎适用于我们的用例。
$(document).ready(function () {
setTimeout(function () {
$('foo').uploadify({...});
}, 0);
});
这不是好的答案,但在没有解决方案的情况下,它是一个可用的解决方法。
答案 1 :(得分:2)
这是由于缓存大部分时间..尝试更改您的Javascript包括如下,错误将消失!。
<script type="text/javascript" src="<<path-to-uploadify>>/jquery.uploadify-3.1.js?ver=<?php echo rand(0,999999);?>"></script>
答案 2 :(得分:-1)
如果这是您当前的代码 - 'basePath'不应该是相对/直接网址吗?
所以,而不是
var basePath = "path to ressources";
不应该更像是
var basePath = "/assets/RESOURCE_FOLDERNAME";
或空字符串?