在Chrome中使用Uploadify返回“Aw, Snap”页面

9

从谷歌浏览器最新版本(版本36.0.1985.125 m)开始,我在使用uplodify插件/flash时遇到了问题。Chrome会显示Aw, Snap页面或者有时会显示He's Dead, 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>

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


我在使用完全相同版本的Chrome时遇到了完全相同的问题。我的网站也使用uploadify。最近我经常在Chrome上遇到“崩溃”问题。我认为这可能与Chrome或Flash的最新更新有关。 - HyderA
尝试禁用Uploadify缓存。 - HyderA
我从未使用过Uploadify,但是我想知道:为什么在Chrome中需要Flash?难道它不应该在HTML5文件API不可用时回退到Flash吗? - chris
3个回答

15

我发现添加一个setTimeout可以解决这个问题。这表明Chrome / Chrome的Flash实现/ Uploadify的Flash应用程序存在竞争条件,情况并不清楚。尽管如此,在我们的使用情况下似乎在所有情况下都能正常工作。

$(document).ready(function () {
    setTimeout(function () {
        $('foo').uploadify({...});
    }, 0);
});

虽然这不是一个好的答案,但在没有解决方案的情况下,它是一个可用的解决方法。


2

It is due to cache most of the time.. try to change your Javascript include as below and error will be gone!.

<script type="text/javascript" src="<<path-to-uploadify>>/jquery.uploadify-3.1.js?ver=<?php echo rand(0,999999);?>"></script>


它修复了“Aw, Snap”页面,但您能解释这是如何起作用的吗?因为当将此代码放在页面上时,页面会加载得非常缓慢。 - TheSmile

-1

如果这是您当前的代码-“basePath”不应该是一个相对/直接的URL吗?

因此,不是

var basePath = "path to ressources";

这不应该更像是

var basePath = "/assets/RESOURCE_FOLDERNAME";

还是一个空字符串?


我不确定这是否对您有所帮助,但请尝试使用Chrome检查器和网络选项卡调试上传过程。您应该能够看到您的请求及其服务器状态(如500或200)。这可能会帮助您缩小主要问题的范围,因为在我看来,似乎“车头下面”出了什么问题。 - wick3d
谢谢,但在网络检查器中一切正常。我认为这也是“底层问题”。 - user3770756
2
我也遇到了同样的问题。以前都没事,但自从升级Chrome到最新版本后,每次都出现“噢,崩溃了”页面。在IE中一切正常,而且如果我只是简单地刷新页面,它甚至也可以正常工作,所以我不知道发生了什么事情。 - Sean

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接