尝试在我的firefox扩展程序中使用svg src创建iframe

时间:2011-03-03 16:10:33

标签: javascript iframe firefox-addon

我正在尝试使我的扩展创建一个iframe,其src标记指向位于扩展文件的svg文件。像<iframe src="chrome://trail/content/onpagegui.svg"></iframe>

这样的东西

每当我这样做时,我都会收到以下错误:安全错误:http:// ...的内容可能无法加载或链接到chrome://trail/content/onpagegui.svg。 (我认为这是同源政策的原因)

我尝试了各种方法来解决这个问题,其中我试图使用资源:而不是chrome:正如How can a Firefox extension inject a local css file into a webpage?所建议的那样但是我无法使其工作,因为我试图嵌入一个svg而不是一个CSS或因为我只是没有得到它...顺便说一下我从MDC理解,资源:是javascript代码而不是CSS,我是对的吗?这个解决方案是否可行?

我还试图通过javascript构建整个iframe和svg,导致出现大量其他问题......

有没有办法将.svg文件嵌入到新创建的iframe中?

提前多多感谢, Yonatan

2 个答案:

答案 0 :(得分:0)

您需要制作附加信息contentaccessible

答案 1 :(得分:0)

我可以想到两种可能的解决方案:

  1. 使用例如XMLHttpRequest将您的SVG读入字符串。然后将帧的src设置为data: URL
  2. 注册实现nsIAboutModule的组件。然后将框架的src设置为custom about: URL
  3. 具有讽刺意味的是,这些方法都不需要内容可访问!