当前位置: 首页 > 知识库问答 >
问题:

在2个不同的js文件中使用变量(chrome扩展名)

陶泳
2023-03-14

我正在尝试构建一个自动填充扩展,但我不知道如何在我的js FIE中使用用户输入。我试着用:

localStorage.setItem("full_name_E", full_name_E);

这在html脚本中(弹出用于扩展)。并且在autofill js文件中我写到:

localStorage.getItem('full_name_E');

但如果我在chrome控制台中键入第一个命令并刷新页面,则full_name_E值将出现在框中。我试过导入/导出,但它不起作用。有人帮忙吗?

共有1个答案

高飞翮
2023-03-14

您应该使用Chrome存储API进行此扩展。它将允许您让您的用户将他们的自动填充数据同步到他们使用的任何浏览器。

chrome.storage.sync.set({key: value}, function() {
  console.log('Value is set to ' + value);
});

chrome.storage.sync.get(['key'], function(result) {
  console.log('Value currently is ' + result.key);
});

将此添加到清单中:

json prettyprint-override">"permissions": [
    "storage"
  ],

您可以在这里找到更多信息:https://developer.chrome.com/docs/extensions/reference/storage/

 类似资料:
  • Puppeteer 可以用来测试 Chrome 扩展 注意 Chrome / Chromium 扩展当前只能在非无头模式下使用。 下面的代码用来处理扩展的 background page,该扩展的代码在 ./my-extension: const puppeteer = require('puppeteer'); (async () => { const pathToExtension =

  • 问题内容: 我有一个HTML页面,其中有一些用Angular配置的DOM。现在,我正在构建一个chrome扩展程序来修改文本框中的值。由于文本框是使用Angular设计的,因此无法使用。阅读一些资源后,我知道需要对元素的范围进行更改。我尝试在扩展程序中执行此操作。 这似乎无法正常工作。当我更深入地研究问题时,我发现窗口范围内的角度没有得到正确的范围。 我还尝试从扩展名中注入angular.js并直

  • chrome扩展的background.js 文件无法调用同文件中的函数,我基于 manifest v3 创建了一个 chrome extension,具体代码如下 manifest.json background.js 的代码如下 但现在遇到的问题是,提示错误,错误信息是 showcontentpop is not defined. 请问这个该怎么处理? 能正常调用函数 showcontentp

  • 问题内容: 我正在创建一个扩展程序,它将从网站上下载mp3文件。我正在尝试通过创建带有指向mp3文件的链接的新标签来实现此目的,但是chrome会继续在播放器中打开它而不是下载它。有什么方法可以创建一个弹出窗口,要求用户“另存为”文件? 问题答案: 快进了3年,现在GoogleChrome提供了API(自Chrome31起)。 在清单中声明许可后,可以通过以下调用启动下载: 如果要在脚本中生成文件

  • 我正在尝试做的是创建一个chrome扩展,创建新的,嵌套的,书签文件夹,使用承诺。 执行此操作的函数是chrome.bookmarks.create()。但是我不能只循环这个函数,因为chrome.bookmarks.create是异步的。我需要等待,直到文件夹创建,并获得它的新ID,然后继续它的子级。 承诺似乎是要走的路。不幸的是,我找不到一个使用异步调用和自己的回调(如chrome.bookm

  • 问题内容: 我试图在Redis中使用批处理sed替换每个密钥名称的批处理密钥重命名。(内部似乎没有更好的方法来执行此操作)。 我期望这样的输出: 相反,我只是得到这个: 这就是让我挂起来的…如何正确地获取输出并回显该输出的原始版本和编辑版本?应该工作吧?(如果是这样,我该如何正确执行?) 问题答案: 单独使用sed的解决方案 sed本身能够产生未修改的行和已修改的行: 在上面,sed首先将RENA