使用Chrome扩展程序内容脚本从localStorage获取令牌值

时间:2016-02-29 18:32:20

标签: javascript google-chrome-extension

我是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?

1 个答案:

答案 0 :(得分:1)

chrome.storage只会获取您的扩展程序的存储空间,要获取属于当前页面的存储空间,您需要在内容脚本中使用Window.localStorage

var token = localStorage.getItem("token");