Chrome 应用程序 localStorage 不持久并且 chrome.storage 不工作

2024-04-23

我有一个 chrome Kiosk 应用程序,我需要在机器打开和关闭之间保存数据(几个字节作为字符串)。 但无论我尝试什么,本地存储似乎在重新启动时都会被擦除。

当我转到 chrome://inspect/#apps 检查 Chrome 应用程序时,控制台中没有与 LocalStorage 有关的相关错误

在浏览器中的 Chrome 中,我只需使用 localStorage,但在 Kiosk 应用程序中这种情况不会持续存在。

代码示例:

window.localStorage.setItem(id, temp);
window.localStorage.getItem(id);

遵循此处的建议:在单个应用程序信息亭模式执行中保留数据 https://stackoverflow.com/questions/30763720/persist-data-across-single-app-kiosk-mode-executions我有一个 Chrome 管理许可证,设置了以下设置,但这似乎没有任何区别(请参阅随附的 JPG)

使用Kiosk应用程序,我在manifest.json中拥有存储权限

我尝试过转移到 chrome.storage,但每当我尝试执行此操作时,都会收到未定义的错误。作为 Chrome 应用程序在浏览器中运行时会发生此错误

我已经尝试过这里的解决方案,但它们不起作用。总是出现未定义的错误:https://groups.google.com/a/chromium.org/forum/#!topic/chromium-apps/_YcOT4PcdAQ https://groups.google.com/a/chromium.org/forum/#!topic/chromium-apps/_YcOT4PcdAQ

Chrome 管理设置 https://i.stack.imgur.com/00up3.jpg


从评论中添加: CODE:

chrome.storage.local.set({ 'key1': 'first', 'key2': 'second', 'key3': 'third', 'key4': 'fourth', 'key5': 'fifth' }, function() { console.debug('Settings saved'); });

<body class="trim full">
  <form id="kiosk" model="AppConfig" view="KioskView">
    <webview id="browser" src="link-to-my-website-which-calls-localstorage.com" style="width:100%; height:100%; position:absolute; top:0; left:0; right:0; bottom:0;"></webview>
  </form>
</body>

有两个上下文localStorage在 Chrome 应用程序中。

  1. 应用程序的代码本身。localStorage is disabledChrome 应用程序代码 https://developer.chrome.com/apps/app_deprecated。唯一的解决方案是使用chrome.storage API.

  2. (你的情况) localStorage里面一个<webview>。它被设计为临时的默认情况下。如果您希望它持续存在,您需要使用webview持久分区 https://developer.chrome.com/apps/tags/webview#partition.

    如果存储分区 ID 开头为persist: (partition="persist:googlepluswidgets"),webview 将使用一个持久存储分区,该分区可供应用程序中具有相同存储分区 ID 的所有来宾使用。如果未设置 ID 或没有'persist:'前缀,webview 将使用内存中的存储分区。

    <webview id="browser"
             src="link-to-my-website-which-calls-localstorage.com"
             style="width:100%; height:100%; position:absolute; top:0; left:0; right:0; bottom:0;"
             partition="persist:browser">
    </webview>
    

    请注意chrome.storageAPI 不会暴露给 webview 内容(除非您注入脚本)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 应用程序 localStorage 不持久并且 chrome.storage 不工作 的相关文章

  • 如何获取对象的所有属性?

    如何在 JavaScript 中使用反射获取对象的所有属性 循环遍历对象并获取属于该对象且不属于该对象的每个键 一个函数 var properties for var key in obj if obj hasOwnProperty key
  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • javascript 中对象的“异步”循环

    通常 我们可以对数组和对象进行循环来迭代属性 值 但循环是阻塞的 但是 超时可用于模拟异步循环 我设法为数组做到了这一点 http jsfiddle net LHhy2 do stuff function asyncLoop i do st
  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • pubnub 和 head.js

    有没有人成功整合过pubnub http www pubnub com 和 head js 正确吗 Pubnub http www pubnub com 希望我将他们的脚本放在页面底部并带有 div 就在它前面的标签 这可以确保在最后调用
  • Jasmine-jQuery loadFixtures 未定义

    我对整个茉莉花的事情仍然很陌生 在过去的几个小时里我陷入了这个问题 我尝试使用 loadFixture 加载外部夹具文件 我使用 Jasmine 2 0 0 和 Jasmine jQuery 2 0 5 ReferenceError loa
  • 使用 javascript 更改 div 颜色

    div style height 20px width 100 background color 000000 div br
  • 创建一个简单的 10 秒倒计时

    我想要一行这样写的 Your download will begin in 10 9 8 etc Beginning on page load seconds 我已经设置了 10 秒下载文本 并且我还查看了其他 stackoverflow
  • html 表格单元格的条件格式

    是否有现成的解决方案可以对 HTML 表格进行条件格式设置 通过条件格式 我更感兴趣的是根据该列或其他列 在同一个表中 的值 数字 将不同的颜色作为单元格背景 类似于我们在 Excel 条件格式 gt 色阶 gt 红黄绿中的内容 我想在通过
  • window.onbeforeunload 在 Android Chrome 上不会触发 [alt.解决方案?]

    我开发了一个简单的聊天应用程序 我正在使用 window onbeforeunload当有人关闭选项卡 浏览器时 基本上是当用户离开房间时 通知其他用户 这是我的代码 scope onExit function scope chatstat
  • 了解 sort() 比较函数

    我正在使用一个电子商务平台 该平台无法重新排序产品属性字段的选项 这真的很糟糕 因为要插入新选项 您几乎必须删除所有现有选项并重新开始 我正在尝试在客户端进行操作 这是我正在处理的内容 这是针对鞋码的 9 EE 9 1 2 EE 10 EE
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 在 jQuery 可排序中对多个选定项目进行排序?

    我试图在 jQuery 可排序集中选择多个项目 然后将选定的项目一起移动 这是我的弱点开始尝试使其发挥作用 http jsfiddle net benstenson CgD8Y 这是代码 HTML div class container d
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用

随机推荐

  • 如何将 ASCII 字符的十六进制值写入文本文件?

    这是我目前所拥有的 void WriteHexToFile std ofstream stream void ptr int buflen char prefix unsigned char buf unsigned char ptr fo
  • 执行错误日志记录的简单方法?

    我创建了一个小型 C winforms 应用程序 作为一项附加功能 我正在考虑向其中添加某种形式的错误日志记录 有人对解决这个问题有什么好的建议吗 这是我从未考虑过添加到以前的项目中的功能 因此我愿意接受有更多经验的开发人员的建议 我正在考
  • HTML 将 Phaser 移动到容器 div 中

    目前正在 Phaser 中制作一个基于浏览器的游戏并尝试将其添加到容器中div我创建的标签 但是移相器似乎将自身推到容器下方div 两张截图对比 http gyazo com 3cc9b9333cf89d7fc879bd2cdc741609
  • 如何在 Strapi 中将用户不可编辑的字段添加到内容类型?

    说我有一个post具有以下 4 个字段的内容类型 title 细绳 content 细绳 slug 细绳 author 关系 如何添加第五个字段 该字段的值取决于上述 4 个字段之一且用户不可编辑 说吧 我想要一个wordCount字段中的
  • CFBundle可执行错误

    无法安装应用程序 Users myname Documents SDK iPhoneApplications x build Debug iphoneos x app 处的应用程序未指定 CFBundleExecutable 我不知道这意味
  • 在 Silverlight 4 中编辑标题

    我们正在开发一个浏览器外的 Silverlight 4 应用程序 并希望在应用程序加载后更改标题 Example public partial class MainPage UserControl public MainPage Initi
  • 递归深度有限的旅行目录树

    我需要递归地处理目录树中的所有文件 但深度有限 这意味着例如在当前目录和前两个子目录级别中查找文件 但不再进一步查找 在这种情况下 我必须处理例如 subdir1 subdir2 file 但不是 subdir1 subdir2 subdi
  • Xunit 中的测试异常 ()

    我正在尝试对此方法编写 Xunit 测试 public async Task
  • 在 DLL 中,函数表的结构如何?

    我一直在研究不明确支持我的操作系统的设备库的实现 特别是 我有一个反汇编的 DLL 以及大量的支持源代码 现在 功能表 导出表是如何构造的 我的理解是 第一个结构 data部分是 RVA 表 接下来是通过索引链接到第一个地址表的字符串表 这
  • Linux 内核线程没有地址空间

    为什么Linux内核线程没有地址空间 对于任何要执行的任务 它都应该有一个内存区域 对吗 内核线程的文本和数据去了哪里 内核线程确实有一个地址空间 只是他们都有同一个 这并不妨碍它们各自拥有不同的堆栈 文本和数据放置在内核地址空间 由所有线
  • 当数据包含 UTF 8 字符时 PHP 导出 CSV

    在 MySQL 中 我将数据字段类型设置为utf8 bin我正在以 Unicode 存储数据 文本在网页中正确显示 我想生成 Excel 文件 将数据从我的表导出到其中 输出在 xls and cvs是 我在这里查看了其他答案 它被提到使用
  • 如何在Android中编写特殊字符

    我想将单位添加到我的TextView 例如幂 2 如文本行上方的小写字母 微符号 等 我怎样才能做到这一点 是的 您可以使用 Unicode 字符Textview TextView tvtext new TextView this tvTe
  • 下载NLTK数据时出现PermissionError

    我使用 Anaconda 的 Python 3 6 3 发行版 它安装了 NLTK 但没有安装我项目所需的 NLTK DATA 问题是 当我尝试安装时 nltk download I get PermissionError Errno 13
  • 如何拆分同时包含分隔符和转义分隔符的字符串?

    我的字符串分隔符是 分隔符在字符串中转义为 E g irb main 018 0 gt s a b d e gt a b d e irb main 019 0 gt s split gt a b d e 有人可以建议我正则表达式 这样 sp
  • jQuery $.live() 不适用于 iPhone 上的表格行

    我正在使用 jQuery 使表格行可点击 live 功能 可以在 Chrome Firefox 甚至桌面 Windows Safari 上完美运行 但不能在 iPhone 上运行 bind 到处都可以使用 但出于明显的原因 我想使用其他功能
  • 代码优先更改数据源,无需连接字符串

    我在创建 MVC4 应用程序时似乎遇到问题 我采用了代码优先方法来创建模型 但 web config 文件中似乎没有创建连接字符串 构建的数据库似乎是在 localhost SQLEXPRESS 实例上构建的 但我想将其更改为外部数据源 如
  • svg 中的简单填充图案:对角线阴影

    我如何填充 SVG 形状 不是使用单一颜色 图像或渐变 而是使用阴影图案 如果可能的话对角线 已经两个小时了 我什么也没发现 至少在2005年之后 我认为一个可能的破解方法是使用孵化的 PNG 作为填充 但这并不理想 我在互联网上也没有找到
  • 使用 Pandas/ExcelWriter 对单元格中的文本部分进行着色

    如何使用 pandas 数据框和 ExcelWriter 对写入 Excel 文件的部分文本进行着色 我已经设置了使用背景颜色和文本颜色以及不同内容来格式化单元格 但是您可以将格式设置仅应用于字符串 1 3 5 的单元格中的第一个逗号分隔值
  • 如何防止意外地在非常量对象上调用变异函数?

    假设我们有一个 myType 类型的对象 obj 并且我们希望将其传递给函数 Foo 该函数返回一些有关 obj 的有价值的信息 函数 Bar 是声明 obj 的地方 也是从中调用 Foo 的地方 如下所示 void Bar myType
  • Chrome 应用程序 localStorage 不持久并且 chrome.storage 不工作

    我有一个 chrome Kiosk 应用程序 我需要在机器打开和关闭之间保存数据 几个字节作为字符串 但无论我尝试什么 本地存储似乎在重新启动时都会被擦除 当我转到 chrome inspect apps 检查 Chrome 应用程序时 控