nat*_*ill 0 google-chrome google-chrome-extension
在 Chrome 扩展中,我创建了选项卡属性,并尝试将其与每个选项卡一起存储。做这个的最好方式是什么?我研究过使用 localStorage,但似乎可能有一种更简单的方法。数据绝不是永久的,它仅在选项卡存在时就存在。
肯定没必要用localStorage。如果没有“数据绝不是永久的”这一概念,人们就已经知道:选项卡 ID 在会话中是唯一的。由此可见,数据是非持久性的。
实现它的最佳方法是维护选项卡属性的哈希值:
chrome.tabs.onCreated(可选,将初始信息添加到选项卡哈希)chrome.tabs.onUpdated-(添加/)更新选项卡哈希(URL 可用)chrome.tabs.onRemoved- 删除哈希条目选项卡对象并不昂贵:所有属性都是基元(布尔值、数字、字符串)。
例如(仅背景页面):
var tabStore = {}; // <-- Collection of tabs
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
tabStore[tabId] = tab;
});
chrome.tabs.onRemoved.addListener(function(tabId) {
delete tabStore[tabId];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |