window.AppInventor в Angular 4 - PullRequest
0 голосов
/ 29 мая 2018

У меня есть локальное приложение в Angular 4, которое использует localStorage в браузере рабочего стола для сохранения данных.Я использую WebViewer в AI для приложения.

Я знаю, что localStorage нельзя использовать в AI2, и мне нужно использовать WebViewString или любое другое хранилище данных.Я также знаю, как проверить, запущено ли приложение в AI или в настольном браузере, используя window.AppInventor в Javascript.

У меня вопрос: как проверить, работает ли приложение в AI с использованием Angular 4?Так что я могу использовать localStorage для рабочего стола и WebViewString для AI

Я пытался использовать window.AppInventor в своем коде Angular, но получаю ошибку

Property 'AppInventor' does not exist on type 'window'

1 Ответ

0 голосов
/ 30 мая 2018

Нашел ответ для этого:)

Мне нужно было получить ссылку на объект окна Javascript в Typescript.Как только я получу ссылку, это то же самое, что и использование объекта окна в Javascript.

https://juristr.com/blog/2016/09/ng2-get-window-ref/

Посмотрите на приведенную выше ссылку для получения более подробной информации о получении ссылки на собственное окно.Как только мы получим ссылку, ее можно использовать как

if (this.winRef.nativeWindow.AppInventor) {
    this.persistData = JSON.parse(this.winRef.nativeWindow.AppInventor.getWebViewString());
} else {
    this.persistData = JSON.parse(localStorage.getItem("floodPersist"));
}
...