2013-05-29 3 views
3
Эксперты

Здравствуйте Firefox Addon SDK,Firefox Add-на SDK: HTML Access и графические файлы в директории данных из скрипта содержания

Я довольно сильно застрял со следующей проблемой.

Из моего сценария контента мне нужно нарисовать пользовательский интерфейс, используя набор файлов HTML и файлов изображений, которые хранятся в моем каталоге данных моего дополнения.

Я извлекаю URL-адреса файлов в main.js, используя self.data.url, и передаю URL-адреса сценарию содержимого с помощью port.emit. URL-адреса успешно получены скриптом содержимого.

При входе URL данных/html/myfile.html в сценарии контента, это выглядит следующим образом: ресурс: //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-код из файла в сценарий контента затем он работает.

Кроме того, если я вставляю URL-адрес файла html в поле адреса Firefox, он открывается нормально.

Есть ли какая-то фундаментальная причина, почему мое решение не может работать? Или, может быть, мне нужно определить какое-то разрешение для моего надстройки, чтобы файлы из каталога данных были доступны из сценария контента?

Вся помощь очень ценится.

+0

Является ли html отображаемым в панели? Кроме того, fyi любые ресурсы, упомянутые в html-файле, загруженном из данных, могут использовать относительные URL-адреса, например, если у вас есть index.html, он может ссылаться на изображение в том же каталоге через ./some-image.png – canuckistani

+0

Спасибо за быстрый ответ canuckistani. Нет, это не в панели. Html добавляется на страницу через страницу-мод. См., Мое дополнение вводит некоторый JavaScript на страницу, чтобы нарисовать дополнительный пользовательский интерфейс поверх текущей страницы. Теперь я уже могу сделать изображение (png) загруженным и нарисованным на странице, поэтому содержимое папки данных надстройки, очевидно, доступно из сценария содержимого. Теперь просто JQuery.load (<мой локальный html путь>) ничего не делает. Никакого исключения, просто ничего не происходит. – mikko76

+0

Я узнал, что JQuery.load содержит следующую ошибку внутри параметра (xhr.statusText) функции обратного вызова: «Доступ к ограниченному URI отклонен» (код 1012). Теперь я пытаюсь выяснить, есть ли что-нибудь, что я могу с этим поделать. – mikko76

ответ

0

Я сдался и помещал содержимое HTML на наш сервер. Теперь у меня есть совершенно другая проблема с Fancybox и сценарием контента.