html获取项目绝对路径插件,谷歌插件获取ID及获取绝对路径方法

本文介绍如何在谷歌浏览器插件中实现国际化,并通过预定义message如@@extension_id加载资源文件。具体展示了如何在CSS及JavaScript文件中使用这些message。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天更新一款谷歌插件,为了方便用户快速找到插件设置,在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容器将会是:

设置

f4045dfe608978acb22b13811401af93.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值