是否可以在不违反安全性约束的情况下在当前文档中显示本地图像。

示例:图像在chrome://myExtension/content/2.png

$myImg=jQuery("#myImg", doc);

$myImg.attr("src","chrome://beSure/content/2.png");


  错误控制台:安全错误:https://www.google.com/accounts/ServiceLogin?....&from=login上的内容可能无法加载或链接到chrome://myExtension/content/2.png。


使用非本地链接的工作示例:

$myImg=jQuery("#myImg", doc);

myImg.attr("src","http://cdn1.iconfinder.com/data/icons/classic-cars-by-cemagraphics/128/minicar_128.png");

图片来自有效的网址,这样就可以了。但是如何显示本地图像?

最佳答案

您的chrome程序包需要在contentAccessible中用chrome.manifest标志声明,请参见documentation。默认情况下,不再允许网页从chrome://加载图像,这以前允许网页通过加载其图像来检测已安装的扩展名。

另一种可能性应该是使用image.src属性而不是设置属性:

var myImg = doc.getElementById("myImg");
myImg.src = "chrome://beSure/content/2.png";


这应该起作用,因为您的(特权)脚本在此处直接设置图像位置。另一方面,属性更改是异步处理的,因此可以使用网页的权限来完成。

10-08 15:00