簡體   English   中英

Chrome擴展程序,字符串文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM