Попытка создать iframe с svg src на моем расширении Firefox
Я пытаюсь, чтобы мое расширение создало iframe, его тег src направляется в файл svg, который находится в файлах расширения. что-то вроде <iframe src="chrome://trail/content/onpagegui.svg"></iframe>
Всякий раз, когда я делаю это, я получаю следующую ошибку: Ошибка безопасности: содержимое в http://... может не загружаться или ссылаться на chrome://trail/content/onpagegui.svg. (Я думаю, что это причина той же политики происхождения)
Я испробовал все способы решения этой проблемы, среди них я пытался использовать ресурс: вместо chrome: как предложено в разделе Как расширение Firefox может вставлять локальный файл CSS в веб-страницу? но я не могу заставить его работать, потому что я пытаюсь внедрить svg вместо css или потому что я просто не получаю это... кстати, насколько я понял из MDC, ресурс: предназначен для кодов javascript и не css, я прав? это решение работоспособно?
Я также пытался собрать весь iframe и svg только с помощью javascript, которые вызывают множество других проблем...
Есть ли способ вставить этот файл.svg во вновь созданный iframe?
Большое спасибо заранее, Йонатан
2 ответа
Я могу придумать два возможных решения:
- Используйте, например, XMLHttpRequest, чтобы прочитать ваш SVG в строку. Затем установите src для фрейма в data: URL.
- Зарегистрируйте компонент, который реализует nsIAboutModule. Затем установите src фрейма в свой пользовательский about: URL.
По иронии судьбы ни один из этих методов не требует оспаривания!