[英]Chrome extension, file from string?
我正在構建用於觀看視頻的chrome擴展程序。
我在為視頻添加字幕和字幕時遇到問題。 我有字幕作為字符串(來自ajax調用),問題是html5中的<track>
標記需要一個文件,(url to file)。
有沒有一種很好的方法從chrome exstension / javascript中的字符串創建文件,而不是通過url / path訪問它?
謝謝
使用Blob
構造函數和URL.createObjectURL
可以非常輕松地從字符串創建URL:
var content = 'some string';
var url = URL.createObjectURL(new Blob([content], { type: 'text/plain' }));
如果您使用的是AJAX,那么您不需要進行字符串到blob的轉換。 只需設置responseType = 'blob';
直:
var x = new XMLHttpRequest();
x.open('GET', 'http://example.com/');
x.responseType = 'blob';
x.onload = function() {
var url = URL.createObjectURL(x.response);
// ...
};
x.send();
您可以嘗試生成數據URI ,而不是創建文件:
src = 'data:text/plain,' + encodeURIComponent(subtitleString);
要么:
src = 'data:text/plain;base64,' + btoa(subtitleString);
如果您要處理非US-ASCII字幕,則需要添加編碼信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.