你可以在Firefox插件中嵌入Flash内容吗?

时间:2012-05-29 11:58:19

标签: flash firefox-addon

我想在Firefox插件中嵌入一个Flash对象。

这可以通过图像完成:

imgTest = function(document){      
  var h = document.getElementsByTagName("body")[0];            
  var img = document.createElement("img");
  img.src = 'chrome://extname/content/image.jpg';      
  h.appendChild(img);
}

使用Flash完成同样的操作时,Flash对象不会显示:

flashTest = function(document){      
  var h = document.getElementsByTagName("body")[0];            
  var ob = document.createElement("object");
  var embed = document.createElement("embed");
  embed.type = 'application/x-shockwave-flash';
  embed.src = 'chrome://extname/content/flash.swf';
  ob.appendChild(embed);      
  h.appendChild(ob);
}

在Firebug中查找对象,但嵌入显示为灰色。

这可能吗?

1 个答案:

答案 0 :(得分:0)

我想document指向浏览器内容区域中加载的网页(至少你似乎拥有HTML文档,而不是XUL文档)。然后问题似乎是该网页不允许访问chrome://extname/。如果您希望网页可以访问您的扩展程序的内容,那么您应该在chrome.manifest中指定contentaccessible flag,例如:

content extname chrome/path/ contentaccessible=yes

侧节点:它恰好适用于图像,因为只要您设置src属性,图像就会同步开始加载 - 因此请求的发起方是您的扩展,并且允许请求​​。 Flash对象仅在插入文档后才开始异步加载。这里请求的发起者是网页,在这种情况下不允许它。