You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox浏览器扩展如何保存textarea输入数据?

实现Firefox扩展弹窗textarea内容留存功能

步骤1:修改弹窗HTML文件

在popup/popup.html中添加脚本引用,让我们能通过JS操作存储和textarea:

<textarea id="InputListOfURLs" cols="75" rows="30" style="white-space: pre; overflow-wrap: normal; overflow-x: scroll;"></textarea>
<!-- 添加这行,引入后续要写的JS逻辑文件 -->
<script src="popup.js"></script>

步骤2:创建弹窗逻辑JS文件

在popup文件夹下新建popup.js文件,写入以下代码:

// 获取页面中的textarea元素
const inputTextarea = document.getElementById('InputListOfURLs');

// 弹窗加载完成后,读取之前保存的内容
document.addEventListener('DOMContentLoaded', async () => {
  // 从本地存储中获取名为savedText的数据
  const savedData = await browser.storage.local.get('savedText');
  // 如果有保存的内容,填充到textarea里
  if (savedData.savedText) {
    inputTextarea.value = savedData.savedText;
  }
});

// 监听用户输入,实时保存内容到本地存储
inputTextarea.addEventListener('input', async () => {
  // 将当前textarea的内容存入本地存储,键名为savedText
  await browser.storage.local.set({ savedText: inputTextarea.value });
});

代码说明

  • browser.storage.local是Firefox扩展提供的本地存储API,你的manifest已经申请了storage权限,所以可以直接使用。这个存储是跨页面、跨网站持久保存的,只要扩展不卸载就会保留内容。
  • DOMContentLoaded事件确保页面元素加载完成后再执行读取操作,避免出现找不到textarea的情况。
  • input事件会在用户每输入一个字符时触发,实时保存内容,就算弹窗意外关闭,输入的内容也不会丢失。

验证效果

  1. 重新加载你的Firefox扩展(在扩展管理页点击"重新加载")
  2. 点击扩展图标,在textarea里输入内容后关闭弹窗
  3. 再次点击扩展图标,textarea里会显示你上次输入的内容;切换不同网站后打开扩展,内容依然存在

内容的提问来源于stack exchange,提问作者AAsomb113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:24:10