检测已安装的Chrome扩展程序

时间:2014-05-04 22:49:31

标签: javascript jquery google-chrome google-chrome-extension

我正在尝试检测Chrome扩展程序,但我遇到了问题。当我尝试jQuery.load()之类的东西时 chrome-extension://jffbcpkfdlpegbadfomimojhgaaoaeed/icon.png或其他一些文件,我收到此错误:

Denying load of chrome-extension://jffbcpkfdlpegbadfomimojhgaaoaeed/icon.png. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension. movie.php?id=3079:1
Failed to load resource: net::ERR_FAILED 

我可以避免使用web_accessible_resources吗?我试图将文件名的大小写从icon.png更改为ICON.png但没有成功(like this)。

这个想法只是为了检测扩展;没别的。

我想做this之类的事情。

1 个答案:

答案 0 :(得分:2)

如果您需要检测安装了扩展程序,对于任何给定的扩展程序,您不应该依赖诸如加载Web可访问资源(对所有扩展程序不能统一使用)的黑客攻击,并使用chrome.management API特别是为了这个目的。

chrome.management.get('keyoftheextensionyouwanttofind', function(info){
  if (!info) { console.log("Extension not installed"); }
  else if (!info.enabled) { console.log("Extension installed, but disabled"); }
  else {console.log("Extension installed and active");}
});

是的,它会trigger a permission warning