Google chrome 检索存储在Chrome扩展本地的JSON

Google chrome 检索存储在Chrome扩展本地的JSON,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我正在开发我的第一个Chrome扩展。 我想将CSV文件存储为JSON,读取内容并将其与URL进行比较 问题: 我通常会将CSV表存储在数据库中,但我没有使用JavaScript的选项。你认为我的情况有更好的选择吗 我有一个main.js(内容脚本)和一个script.js。内容脚本调用第二个脚本来读取用户的URL(似乎内容脚本自己无法完成)。之后,我需要读取JSON文件。在script.js中我有 load: function() { var list; var xhr = n

我正在开发我的第一个Chrome扩展。 我想将CSV文件存储为JSON,读取内容并将其与URL进行比较

问题:

  • 我通常会将CSV表存储在数据库中,但我没有使用JavaScript的选项。你认为我的情况有更好的选择吗
  • 我有一个
    main.js
    (内容脚本)和一个
    script.js
    。内容脚本调用第二个脚本来读取用户的URL(似乎内容脚本自己无法完成)。之后,我需要读取JSON文件。在
    script.js中
    我有

    load: function() {
        var list;
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            list = JSON.parse(xhr.responseText);
        }
        xhr.open("GET", chrome.extension.getURL('resources/list.json'), true);
        xhr.send();
        return list;
    }
    
  • 但它抛出
    “无法调用未定义的方法”getURL“
    ”。我试图在
    main.js
    中插入这个
    load()
    函数,使用
    localStorage
    存储
    list
    ,然后最后在
    script.js
    中读取它,但是……什么都没有。。信息没有存储。我做错了什么?

    这是一个错误。您的内容脚本位于DOM页面内的沙箱中。虽然由您的扩展注入,但它几乎不与它共享任何内容

    我建议您在需要单个异步请求/响应或重复使用时使用

    它可以帮助您依赖自己应用程序中的事件,帮助您解耦代码。

    这是一个很好的解决方案。您的内容脚本位于DOM页面内的沙箱中。虽然由您的扩展注入,但它几乎不与它共享任何内容

    我建议您在需要单个异步请求/响应或重复使用时使用

    它帮助您依赖自己应用程序中的事件,帮助您分离代码。

    可能重复的可能重复的