在Chrome中上传返回Aw,Snap页面

时间:2014-07-25 08:18:20

标签: php flash uploadify

从上次更新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>

问题出在哪里?你能给我一些建议吗?我很无奈。感谢

3 个答案:

答案 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";

或空字符串?