今天更新一款谷歌插件,为了方便用户快速找到插件设置,在popup里面增加了“选项”这个按钮,这里就需要调用插件的绝对地址。
国际化系统提供一些预定义messages来帮助谷歌插件开发者本地化扩展,这些包括@@ui_locale(您能用它检测当前UI系统的语言信息),也包括一些以@@bidi_作前部的message(用来检测文字方向书写习惯,像英语的是从左到右书写习惯),它们(@@bidi_)有相似的名字。
@@extension_id代表着该插件的ID,可以在扩展内部用这个字符串构造URL用于访问某些资源,没有本地化的扩展也可以使用这个message。而message 能用在任意扩展 的CSS和JavaScript 文件中,无论其是否已经本地化,但不能用在manifest.json文件中。
注意:Content script CSS files 不能用一些预定义message,像 @@extension_id。
CSS实例
一个在CSS文件中,用@@extension_id 构造一个URL的示例:
body {
background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}
如果扩展的ID是abcdefghijklmnopqrstuvwxyzabcdef,那么上述代码中的粗线部份变成:
background-image:url('chrome-extension://abcdefghijklmnopqrstuvwxyzabcdef/background.png');
JS实例
一个在JS文件中,用@@extension_id 构造一个URL的示例:
var id = chrome.i18n.getMessage("@@extension_id");
document.getElementById("show").innerHTML = '设置';
如果扩展的ID是abcdefghijklmnopqrstuvwxyzabcdef,那么div容器将会是: