Jam*_*mes 7 javascript webview local-storage google-chrome-app
我有一个镀铬自助服务终端应用程序,我需要在机器开启和关闭之间保存数据(几个字节作为字符串).但是,无论我尝试什么,localStorage似乎在重新启动时被删除.
当我转到chrome:// inspect/#apps来检查Chrome应用程序时,控制台中没有关于LocalStorage的相关错误
在浏览器的Chrome中,我只会使用localStorage,但在Kiosk App中不会保留.
代码示例:
window.localStorage.setItem(id, temp);
window.localStorage.getItem(id);
Run Code Online (Sandbox Code Playgroud)
遵循以下建议: 在单个应用程序自助终端模式执行中保留数据 我有一个Chrome管理许可证,其中设置了以下设置,但这似乎没有任何区别(请参阅附件JPG)
使用Kiosk App,我在manifest.json中拥有存储权限
我尝试过移动到chrome.storage但是当我尝试执行此操作时出现未定义的错误.运行Chrome应用程序和浏览器时出现此错误
我在这里尝试了解决方案,但它们不起作用.始终收到未定义的错误:https://groups.google.com/a/chromium.org/forum/#!topic / chrome-apps / _YcOT4PcdAQ
添加评论:代码:
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>
Run Code Online (Sandbox Code Playgroud)
localStorage
Chrome应用中有两种情况.
应用程序的代码本身.localStorage
已停用 Chrome应用代码.唯一的解决方案是使用chrome.storage
API.
(你的情况) localStorage
里面<webview>
.它默认设计为临时的.如果您希望它保持不变,则需要使用 webview持久分区.
如果存储分区ID以
persist:
(partition="persist:googlepluswidgets"
)开头,则webview将使用应用程序中具有相同存储分区ID的所有guest虚拟机可用的永久存储分区.如果未设置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>
Run Code Online (Sandbox Code Playgroud)
请注意,chrome.storage
API不会暴露给webview内容(除非您注入脚本).
归档时间: |
|
查看次数: |
2467 次 |
最近记录: |