JS函数与firefox和IE一起正常工作,但不能用chrome

时间:2013-05-06 09:34:45

标签: javascript jquery html google-chrome cross-browser

我有这个js功能,可以正常使用IE和Firefox,但不能使用chrome。它应该提供chrome和firefox的下载窗口,但是弹出IE -

JS函数 -

function downloadCSV() {
    var isIE = false;

    //Download if browser is not IE, otherwise show popup
    if (isIE) {
        $('#searchInfo').TableCSVExport(
                {delivery:'popup' });
    } else {
        var csv = $('#searchInfo').TableCSVExport(
                {delivery:'value' });
        var blob = new Blob([csv], {type: DOWNLOAD_TYPE});
        saveAs(blob, DOWNLOAD_NAME);
    }
}

我称之为 -

<a id="csvLink" href="javascript:downloadCSV()">Download</a>

在Firefox和IE中,它运行正常,但在Chrome中,它在控制台中显示以下错误

Uncaught TypeError: Illegal constructor
downloadCSV
(anonymous function)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

某些版本的Chrome有一个破碎的BlobBuilder

https://github.com/liftoff/GateOne/issues/132

上面提到的版本是:Chrome 18.0.1025.168(Developer Build 134367 Linux)Ubuntu 12.04

如果您打开Chrome并按F12,则按控制台类型

var b = new Blob();

这会引发错误吗?如果是这样,那么它是由特定版本的chrome

中破坏的BlobBuilder引起的