1

Chrome 拡張機能内からキャンバス イメージから BLOB を作成しようとしていますが、任意のメソッドを使用して BLOB を作成しようとすると、 「 Uncaught TypeError: object is not a function 」というエラーが発生します。

var blob = new Blob();
var blob = new Blob(['body { color: red; }'], {type: 'text/css'});

上記のエラーで失敗する 2 つの例を次に示します。私は実際に DataURL を blob に変換しようとしているので、使用しているコード (これも失敗します) は...

function dataURItoBlob(dataURI) {
    'use strict'
    var byteString, 
        mimestring 

    if(dataURI.split(',')[0].indexOf('base64') !== -1 ) {
        byteString = atob(dataURI.split(',')[1])
    } else {
        byteString = decodeURI(dataURI.split(',')[1])
    }

    mimestring = dataURI.split(',')[0].split(':')[1].split(';')[0]

    var content = new Array();
    for (var i = 0; i < byteString.length; i++) {
        content[i] = byteString.charCodeAt(i)
    }

    return new Blob([new Uint8Array(content)], {type: mimestring});
}

Chrome は新しいブロブをサポートしないと思いますか??

4

1 に答える 1

1

問題は、Blob を作成するための呼び出しが JS ファイルから行われていたことでした。正しい場所はバックグラウンド JavaScript ファイルでした。ブロブを作成するメソッドをバックグラウンド ファイルに移動することで、それを使用できるようになりました。

于 2013-03-19T23:22:29.617 に答える