android - IndexedDB 在 WebView 中不起作用 - 为什么?
问题描述
我有一个需要使用本地存储(IndexedDB)的团队应用程序。
在最常见的浏览器上一切正常:Chrome、Firefox,但是当我尝试将应用程序与适用于 Teams 的 Android 应用程序一起使用时,出现问题:“应用程序的正确运行必须允许访问 IndexedDB”。
Android 版本:10 - WebView 版本:81.0.4044.138
从我的角度来看,这与使用 WebView 进行本地存储的权限有关
这是我的代码:
if (window.indexedDB) {
var request = indexedDB.open('__mydb', 2);
request.onerror = function (event) {
alert('It is necessary for the correct functioning of the app to allow access to IndexedDB.');
};
request.onsuccess = function (event) {
mydb = event.target.result;
try {
console.log('Database opened, checking existence of table');
var objectStore = mydb.transaction([tableName], 'readwrite')
.objectStore(tableName);
console.log('Table exists. Proceeding to save data');
saveTokenDataIndexedDB(objectStore);
console.log('All done, going to app');
goToApp();
} catch (e) {
console.log(e);
}
};
}
这是我的 Teams 应用程序的清单文件:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.2/MicrosoftTeams.schema.json",
"manifestVersion": "1.0",
"packageName": "XXXXXX",
"id": "29bcd6f4-XXXXXX-4111-820b-XXXXXXXXXXX",
"version": "0.1",
"developer": {
"name": "XXXXXXXXXXXXX",
"websiteUrl": "https://products.office.com/en-us/sharepoint/collaboration",
"privacyUrl": "https://privacy.microsoft.com/en-us/privacystatement",
"termsOfUseUrl": "https://www.microsoft.com/en-us/servicesagreement"
},
"name": {
"short": "XXXXXXXXXXXX"
},
"description": {
"short": "XXXXXXXXXXXXX",
"full": "XXXXXXXXXXXXXXXX"
},
"icons": {
"outline": "XXXXXXXXXXXX_outline.png",
"color": "XXXXXXXXXXXXX_color.png"
},
"accentColor": "#004578",
"configurableTabs": [
{
"configurationUrl": "https://{teamSiteDomain}{teamSitePath}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest={teamSitePath}/_layouts/15/teamshostedapp.aspx%3FopenPropertyPane=true%26teams%26componentId=XXXXX-eadc-4020-XXXX-edea2c24753b%26forceLocale={locale}",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"staticTabs": [
{
"entityId": "XXXXX",
"name": "XXXXXXXXX",
"contentUrl": "https://{teamSiteDomain}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest=/_layouts/15/teamshostedapp.aspx%3Fteams%26personal%26componentId=XXXXXXXXX-eadc-4020-b4e2-XXXXXXXb%26forceLocale={locale}",
"scopes": [
"personal"
]
}
],
"validDomains": [
"*.login.microsoftonline.com",
"*.sharepoint.com",
"*.sharepoint-df.com",
"spoppe-a.akamaihd.net",
"spoprod-a.akamaihd.net",
"resourceseng.blob.core.windows.net",
"msft.spoppe.com"
],
"webApplicationInfo": {
"resource": "https://{teamSiteDomain}",
"id": "XXXXXXXX-eadc-4020-b4e2-XXXXXXXXXX"
}
}
我坚持这一点,如果有人可以给我一个线索,我将不胜感激。
问候
解决方案
推荐阅读
- xcode - 在 macOS 应用程序中嵌入带有 NumPy 和 SciPy 的 Python
- java - 通过方法在java中初始化2dim数组
- azure-devops - Azure DevOps 多阶段管道卡在等待批准
- python - 从 python 代码连接到远程 python 内核
- html - 在左框中对齐全宽搜索栏并设置填充
- triggers - 无法删除函数命名空间
- wordpress - 联系表格 7 单选按钮 *必需 不工作
- html - Angular如何在没有选择器标签的情况下动态生成组件
- sql-server - SQL Server 可用性组
- angular - 过滤数组并在Angular的视图中自动显示