我是JavaScript和Chrome扩展程序的新手。我正在编写一个扩展,需要从网页的本地存储中获取值,这是一个页面操作。这是一个清单的片段。
manifest.json
:
{
"content_scripts": [
{
"matches": ["http://url/*"],
"js": ["user_story_template.js"]
}
],
"page_action": {
"default_title": "Promotify",
"default_icon": "promotify_20.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"http://url/*",
"declarativeContent",
"storage"
]
}
以下是内容脚本的片段:
function get_token(){
//alert("Starting processing...");
var auth_token = "";
chrome.storage.local.get('token', function(result){
auth_token = result.token;
});
我已经找到了答案,很多人都说这种方式应该有效。我应该可以从内容脚本中执行此操作。但是,我没有任何价值。我尝试过使用HTML也无济于事。当我进入页面上的检查器并查看资源时,本地存储中的令牌有一个值。任何人都可以看到我可能做错了什么?我确信我错过了一些东西。
我找到了一些答案的地方:
Easy way to get Local Storage Value to Content Script [Chrome Extension]
Access chrome local storage used in both content script and popup?
答案 0 :(得分:1)
chrome.storage只会获取您的扩展程序的存储空间,要获取属于当前页面的存储空间,您需要在内容脚本中使用Window.localStorage
var token = localStorage.getItem("token");