是否可以在不违反安全性约束的情况下在当前文档中显示本地图像。
示例:图像在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";
这应该起作用,因为您的(特权)脚本在此处直接设置图像位置。另一方面,属性更改是异步处理的,因此可以使用网页的权限来完成。