Chrome 扩展程序是不是可以访问本地存储?

     2023-03-05     50

关键词:

【中文标题】Chrome 扩展程序是不是可以访问本地存储?【英文标题】:Do Chrome extensions have access to local storage?Chrome 扩展程序是否可以访问本地存储? 【发布时间】:2011-01-10 07:37:45 【问题描述】:

是否可以在 chrome 扩展的上下文中以浏览器重启后可访问的方式存储数据?

【问题讨论】:

【参考方案1】:

比这更简单:

阅读:

    var myStoredValue = localStorage["TheKeyToMyStoredValue"];

写作:

    localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;

摆脱:

    delete localStorage["TheKeyToMyStoredValue"];

【讨论】:

你先生是99级的德鲁伊和圣人。 很好的答案。请注意,这不适用于内容脚本。我很困惑,直到我找到this【参考方案2】:

是的,是的。详细了解如何执行此操作可能会超出合理的 *** 答案的长度,因此我将向您推荐 Rajdeep Dua 的 this very extensive tutorial

相关代码如下所示:

// Store item in local storage:
function setItem(key, value) 
  try 
    log("Storing [" + key + ":" + value + "]");
    window.localStorage.removeItem(key);      // <-- Local storage!
    window.localStorage.setItem(key, value);  // <-- Local storage!
   catch(e) 
    log("Error inside setItem");
    log(e);
  
  log("Return from setItem" + key + ":" +  value);


// Gets item from local storage with specified key.
function getItem(key) 
  var value;
  log('Retrieving key [' + key + ']');
  try 
    value = window.localStorage.getItem(key);  // <-- Local storage!
  catch(e) 
    log("Error inside getItem() for key:" + key);
  log(e);
  value = "null";
  
  log("Returning value: " + value);
  return value;


// Clears all key/value pairs in local storage.
function clearStrg() 
  log('about to clear local storage');
  window.localStorage.clear(); // <-- Local storage!
  log('cleared');


function log(txt) 
  if(logging) 
    console.log(txt);
  

【讨论】:

教程的链接已损坏,但示例仍然存在。这里是教程的例子chrome.google.com/webstore/detail/… 这个 API 也做得很好:developer.chrome.com/extensions/storage.html 它还允许您将数据同步到您的个人资料中【参考方案3】:

现在最好使用chrome.storage chrome.storage 是异步的,这使其速度更快,并且 localStorage 限制为 5MB。

【讨论】:

“这使它更快” [需要引用] 正如 chrome 开发者 here 指定的那样,批量非阻塞读写操作比阻塞和串行 localStorage API 更快。 感谢您的链接!【参考方案4】:

这里已经有一些很好的答案,但请注意,如果您决定在扩展程序中使用内容脚本,则该内容脚本将无法访问 localStorage。因此chrome.storage 是一个不错的选择。

【讨论】:

技术上它可以访问localStorage——它将是运行内容脚本的域的本地存储(与页面本身共享)。跨度> 【参考方案5】:

当前的 chrome 版本有本地存储。

我自己用过。您可以使用modernizr 来检测浏览器是否支持它。 我已经为客户端编写了一个解决方案,如果不存在本地存储,我会回退到 cookie,但这对于扩展来说应该不是问题。

【讨论】:

【参考方案6】:

Chrome 还支持 HTML5 Web Database 规范。这为您提供了一个本地 SQL 数据库,因此您可以做比简单地将名称/值对存储在本地存储中更复杂的事情。

【讨论】:

从 Chrome 扩展程序访问网页的 localStorage

】从Chrome扩展程序访问网页的localStorage【英文标题】:Accesswebpage\'slocalStoragefromaChromeextension【发布时间】:2014-05-2915:57:18【问题描述】:我正在开发一个chrome扩展,它需要从本地存储中获取值(到插件),其中值由我创建的其他... 查看详情

如何同步 chrome 扩展选项

】如何同步chrome扩展选项【英文标题】:Howtosyncchromeextensionoptions【发布时间】:2011-05-1123:06:46【问题描述】:我制作了一个带有选项页面的Chrome扩展程序。数据保存在本地存储中并且可以正常工作。Chrome不会将本地存储同步到... 查看详情

Chrome 扩展:本地存储,如何导出

】Chrome扩展:本地存储,如何导出【英文标题】:ChromeExtension:LocalStorage,howtoexport【发布时间】:2014-06-0308:17:48【问题描述】:我有一个chrome扩展,可以将一堆数据保存到chrome.storage.local。我试图找到简单的方法来导出这些数据并... 查看详情

chrome 扩展通过共享本地存储将多条消息传递到外部站点

】chrome扩展通过共享本地存储将多条消息传递到外部站点【英文标题】:chromeextensionpassingmultiplemessagetoexternalsitebysharinglocalstorage【发布时间】:2021-07-2618:05:47【问题描述】:**已解决**我正在开发一个chrome扩展程序。在***上阅读... 查看详情

列出带有 chrome 扩展名的本地目录

】列出带有chrome扩展名的本地目录【英文标题】:Listalocaldirectorywithchromeextension【发布时间】:2012-02-0710:55:46【问题描述】:我正在尝试创建一个chrome扩展程序,用于扫描本地目录以查找新文件...但是,如果我将file://*权限添加... 查看详情

扩展程序是不是可以访问包含应用程序的容器目录?

】扩展程序是不是可以访问包含应用程序的容器目录?【英文标题】:Isitpossibleforextensionsaccessthecontaining-app\'scontainerdirectory?扩展程序是否可以访问包含应用程序的容器目录?【发布时间】:2014-06-2307:32:31【问题描述】:扩展是... 查看详情

检查用户是不是安装了 Chrome 扩展程序

】检查用户是不是安装了Chrome扩展程序【英文标题】:CheckwhetheruserhasaChromeextensioninstalled检查用户是否安装了Chrome扩展程序【发布时间】:2011-09-1117:14:08【问题描述】:我正在构建一个Chrome扩展程序,为了让整个事情按我希望的... 查看详情

在 Google Chrome 扩展程序中存储密码

】在GoogleChrome扩展程序中存储密码【英文标题】:StorageofpasswordsinGoogleChromeExtension【发布时间】:2011-03-1623:21:23【问题描述】:我开始阅读GoogleChrome的文档,并喜欢它使用HTML和Javascript创建扩展的方法。阅读thistutorial关于本地存... 查看详情

如何链接到 Google Chrome 扩展程序的本地图像?

】如何链接到GoogleChrome扩展程序的本地图像?【英文标题】:HowcanIlinktoalocalimageforaGoogleChromeExtension?【发布时间】:2012-04-1218:05:29【问题描述】:我想在我的GoogleChrome扩展程序中的页面上显示图像,但我想将图像存储在我的chrome... 查看详情

在 Chrome 扩展中加载沙盒 iframe 的 JavaScript 错误(本地存储、cookie)

】在Chrome扩展中加载沙盒iframe的JavaScript错误(本地存储、cookie)【英文标题】:JavaScripterrors(localstorage,cookie)loadingsandboxediframewithinChromeExtension【发布时间】:2017-04-2507:47:40【问题描述】:我正在编写一个Chrome扩展程序,它在沙盒... 查看详情

如何添加谷歌访问助手

...为.crx的文件。它是一个浏览器扩展程序。3、这时,打开chrome浏览器,然后点击浏览器右上角的三条横线,再在弹出的菜单中选择“设置”。4、接着,在设置页面中切换到“扩展程序”。5、随后,将浏览器窗口调整得稍微小一... 查看详情

如何让chrome支持ajax本地访问

前段时间一直用Chrome和Safari来支持HTML5的运用,在测试的过程中发现原来由于Chrome的安全机制不能支持ajax的本地访问,例如:在JavaScript里面访问URL:file:///E:/test.html,Chrome浏览器报错:XMLHttpRequestcannotloadfile:///E:/test.html.Originnullis... 查看详情

实现chrome扩展启动本地进程-补充

实现chrome扩展启动本地进程-补充标签: chrome扩展启动本地程序访问本地磁盘2014-10-1711:42 6753人阅读 评论(17) 收藏 举报 分类:ChromePlugin版权声明:本文为博主原创文章,未经博主允许不得转载。示例主要包... 查看详情

Chrome 扩展程序无法访问 chrome://extension-icon

】Chrome扩展程序无法访问chrome://extension-icon【英文标题】:Chromeextensioncan\'tgetaccesstochrome://extension-icon【发布时间】:2016-11-0723:58:18【问题描述】:我正在尝试列出我的Chrome扩展程序中的其他扩展程序,并显示它们的图标。另一个... 查看详情

手把手教你开发chrome扩展一:开发chromeextenstion其实很简单

...前无古人,现在我每天开机的第一件事就是打开Chrome检查是不是有了新版本。界面清爽、操作人性化、网络备份资料和快速的启动速度令我爱不释手,还有它拥有众多的扩展程序,相对于firefox的插 查看详情

手把手教你开发chrome扩展一:开发chromeextenstion其实很简单

...前无古人,现在我每天开机的第一件事就是打开Chrome检查是不是有了新版本。界面清爽、操作人性化、网络备份资料和快速的启动速度令我爱不释手,还有它拥有众多的扩展程序,相对于firefox的插 查看详情

制作chrome插件/扩展程序,禁止谷歌浏览器访问某些网站

 chrome地址栏输入chrome://extensions/,可以看到当前谷歌浏览器的全部扩展程序开启开发者模式,可以加载自己制作的扩展程序,或者把自己制作的扩展程序打包 打包第一扩展程序,生成crx插件和pem密钥  查看详情

axure在chrome浏览解决方案

AXURERPEXTENSIONFORCHROMEGoogleChrome浏览器需要扩展程序才能查看本地存储的项目。或者,将您的RP文件上传到AxureCloud或使用其他浏览器。您也可以从AxureRP预览。   查看Chrome的本地项目 1.从CHROME商店安装扩展程序安装扩... 查看详情