Как передать переменную из веб-браузера Javascsript в код Xamarin Forms? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть веб-страница, которая берет некоторую информацию от пользователя, обрабатывает ее на стороне сервера PHP, а затем получает ответ от сервера.

Теперь мне нужно реализовать это (включая веб-интерфейс) в мое приложение Xamarin Forms, поэтому я подумал о создании веб-просмотра, который загружает URL-адрес веб-страницы, но теперь я не могу понять (даже с поиском в Google), как вернуть значение результирующей переменной Javscript обратно в C#.

Вот пример Javascript: -

xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
      let data = JSON.stringify(JSON.parse(this.responseText));
      // Now I want to pass 'data' variable to C#
    }
};

Приложение должно ждать, пока оно не получит значение этой переменной, затем выполнить другие операции или до пользователь нажимает кнопку возврата, чтобы отменить все это ...

Любая помощь приветствуется, спасибо заранее. ^ _ ^

1 Ответ

1 голос
/ 22 апреля 2020

Сначала создайте пользовательский рендерер для веб-просмотра.

Затем оберните функцию js исходным API на каждой платформе и добавьте ее в веб-просмотр.

Вызовите функцию и передайте данные, метод также сработает в рендерере.

См. https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview.

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