IndexedDB не работает в WebView - почему? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть приложение Teams, в котором мне нужно использовать локальное хранилище (IndexedDB).

Все отлично работает с наиболее распространенными браузерами: Chrome, Firefox, но когда я пытаюсь использовать приложение с приложение Android для Teams, что-то пошло не так: «Для правильной работы приложения необходимо разрешить доступ к 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"
  }
}

Я застрял в этом, я буду благодарен, если кто-нибудь подскажет.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...