Как открыть все ссылки в браузере конденсатора в приложении? - PullRequest
1 голос
/ 09 января 2020

Я хочу настроить Capacitor так, чтобы он открывал все ссылки, например:

<a href="https://www.google.com" target="_blank">Google Link</a>

в функции встроенного браузера Capacitor. Я знаю, что могу открыть его, используя open() метод Browser API, но некоторые из моих HTML материалов (и это ссылки) поступают из базы данных. В настоящее время в iOS и Android мои приложения открывают ссылку выше с помощью внешнего браузера, такого как Safari.

Источники:

https://capacitor.ionicframework.com/docs/apis/browser

Edit - мое текущее решение, которое мне не очень нравится:

    if (this.$q.platform.is.capacitor) {
      document.onclick = function(event: any): boolean | void {
        const element: any = event.target || event.srcElement;

        if (element.tagName === 'A' && element.target === '_blank' && element.href) {
          event.preventDefault();
          Browser.open({ url: element.href });
          return true;
        }
      };
    }
...