BlobBuilder 팬 여러분, 안녕히 계세요.
BlobBuilder
는 JavaScript에서 Blob (또는 파일)을 만드는 데 유용한 API입니다. 이 속성은 Chrome 8, FF 6, IE 10부터 사용되었지만 Safari에서는 제공된 적이 없으며 앞으로도 제공되지 않을 것입니다. File API의 최근 사양 변경사항에는 Blob
의 새 생성자가 포함되어 있어 BlobBuilder
가 본질적으로 관련이 없게 됩니다. 실제로 Safari Nightly에서는 이미 사용 중지되었으며 Chrome에서도 곧 콘솔에서 경고를 표시할 예정입니다.
비교를 위해 아래는 지원 중단된 BlobBuilder
생성자와 새 Blob
생성자를 사용하는 동일한 코드입니다. 스니펫은 스타일시트를 만들고 DOM에 추가합니다.
BlobBuilder()
:
window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
window.MozBlobBuilder || window.MSBlobBuilder;
window.URL = window.URL || window.webkitURL;
var bb = new BlobBuilder();
bb.append('body { color: red; }');
var blob = bb.getBlob('text/css');
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);
Blob()
:
window.URL = window.URL || window.webkitURL;
var blob = new Blob(['body { color: red; }'], {type: 'text/css'});
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);
편리합니다. 이제 BlobBuilder
에 추가하는 대신 데이터 부분 배열에서 Blob
를 만들면 됩니다. 데이터 부분은 다양한 유형 (DOMString
, ArrayBuffer
, Blob
)일 수 있으며 순서는 중요하지 않습니다. 예를 들면 다음과 같습니다.
var blob = new Blob(['1234567890', blob, arrayBuffer]);
또한 두 번째 객체 매개변수는 선택사항입니다. 이러한 변경사항에 관한 자세한 내용은 Blob에 관한 MDN 문서를 참고하세요.