您好Firefox附加SDK專家,Firefox附加SDK:從內容腳本訪問數據目錄下的html和圖像文件
我很困擾以下問題。
從我的內容腳本中,我需要使用存儲在我的加載項的Data目錄下的一組HTML文件和圖像文件來繪製UI。
我使用self.data.url在main.js中獲取文件URL,並使用port.emit將URL傳遞給內容腳本。內容腳本成功接收到這些URL。
當我登錄的內容腳本數據/ HTML/myfile.html的URL,它看起來像這樣: 資源://jid1-veokemuf24jrmw-at-jetpack/myaddon/data/html/myfile.html
問題是,似乎沒有什麼,當我追加的元素像這樣的文件中發生:
var a = this;
a.el = $("<div />").attr("id", "topbar");
$("body").append(a.el);
$("#topbar").load(html_url, function() {});
但是,如果我的HTML代碼從文件內容腳本,然後它的作品複製粘貼。
此外,如果我將html文件的URL粘貼到Firefox的地址欄中,它就會打開。
爲什麼我的解決方案無法工作,是否有一些基本的事情?或者,也許,我是否需要爲我的加載項定義一些權限,使數據目錄下的文件可以從內容腳本訪問?
高度讚賞所有幫助。
html是否顯示在面板中?另外,從數據加載的html文件中引用的任何資源都可以使用相對URL,例如,如果您有index.html,它可以通過./some-image.png – canuckistani
引用同一目錄中的圖像。感謝您的快速回復canuckistani。不,它不在面板中。 html通過page-mod添加到頁面中。看,我的插件會在頁面上插入一些JavaScript,以便在當前頁面上繪製一些額外的UI。現在我已經能夠在頁面中加載和繪製圖像(png),因此顯然可以從內容腳本訪問附加組件的數據文件夾內容。現在只是JQuery.load(<我的本地html路徑>)不做任何事情。沒有例外,沒有任何反應。 – mikko76
我發現JQuery.load在回調函數的參數(xhr.statusText)中提供了以下錯誤:「訪問受限制的URI被拒絕」(代碼1012)。現在我試圖找出是否有任何事情可以做。 – mikko76