【问题标题】:Chrome extension: background.js doesn't take the new values from localStorageChrome 扩展:background.js 不从 localStorage 获取新值
【发布时间】:2012-03-23 20:19:40
【问题描述】:

遇到了一个大问题,当我使用“选项”页面更新我的 localStorage 时,一切正常,新值被存储,但我的 background.js 保留了第一次加载的值,即使我输入了类似的内容:

var value = localStorage['item'];

当我刷新扩展程序时,它还可以,但很烦人......

有什么解决办法吗?

问候

【问题讨论】:

    标签: google-chrome-extension local-storage


    【解决方案1】:

    你确定吗?您是否记住,后台页面上的脚本仅在扩展首次加载时执行一次。因此,您需要告诉后台页面 localStorage 项目已更新并更新您的变量。或者您的背景代码可以始终访问 localStorage 而不是使用变量。
    例如,此代码将在后台页面中执行一个函数,该函数将更新变量值....
    background

    // the following line will only be executed when the extension first loads
    var value = localStorage['setting'];
    
    function updateSetting () {
        value = localStorage['setting'];
    }
    

    选项

    localStorage['setting']=Math.random();
    chrome.extension.getBackgroundPage().updateSetting();
    

    【讨论】:

    • 哦,你的第一句话就打开了我的大脑。由于我的 setInterval() 函数,我忘记了后台页面只执行一次......然后我没有在脚本顶部获取我的 localStorage 值,而是将它移到函数中,女巫有时会检索 localStorage 值。跨度>
    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 2013-02-18
    • 2014-09-18
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    相关资源
    最近更新 更多