如何从JavaScript获取我的扩展的ID?

我正在编写一个Chrome扩展,我需要在我的代码中获得我的扩展的ID,所以我不需要每次手动改变它。 我怎样才能做到这一点?

你可以通过两种不同的方式得到它(不需要额外的权限):

  1. 使用运行时API: var myid = chrome.runtime.id;

  2. 使用i18n api: var myid = chrome.i18n.getMessage("@@extension_id");

但是您不需要打开页面,因为chrome.tabs.create() (和其他一些)可以理解相对path。

所以要从你的扩展文件夹中打开index.html ,你应该使用:

 chrome.tabs.create({url: "index.html"}); 

如果你正在做本地化的东西,看起来像扩展机制提供了一些占位符来访问你的扩展ID:

如果你只是试图访问本地文件的URL到你的扩展,你可以使用chrome.extension.getURL("some file name");

如果您还有其他理由需要知道扩展名的ID,我不确定是否有从扩展名内部获得扩展名的简单方法。 来自我头顶的两种方法是使用chrome.extension.getURL("some file name") ,然后从该返回的URL中parsing出扩展名 – 或者使用chrome.management.getAll()和循环通过所有安装的扩展,直到你find你的name匹配,然后访问id