我知道获取 Google Chrome 扩展 ID 的两种方法:
chrome.app.getDetails().id;
chrome.i18n.getMessage('@@extension_id');
其中之一有什么缺点吗?
我倾向于使用第一个,因为它更短,但谁知道呢。我可能错了。
- - 编辑 - -
因为我是唯一关心的人,所以我做了以下基准测试:
console.time('t1');
for (var i=0; i < 10000; i++) { chrome.app.getDetails().id; };
console.timeEnd('t1');
console.time('t2');
for (var i=0; i < 10000; i++) { chrome.i18n.getMessage('@@extension_id'); };
console.timeEnd('t2');
结果如下:
t1: 5190.766ms
t2: 860.697ms
看起来使用 i18n 总体上要快得多,但第一个在开始时更快,在执行 3 或 4 次后,i18n 更好。