Цель этой статьи — показать нам, как создать интерфейс для получения сообщений от JavaScript в WebKit.
WKScriptMessageHandler использует протокол, когда вашему приложению требуется способ ответа на сообщения JavaScript в веб-представлении. Когда код JavaScript отправляет сообщение, специально предназначенное для вашего обработчика сообщений, WebKit вызывает метод вашего обработчика userContentController(_:didReceive:).
Идем начинать.
- Создайте класс для обработки сообщений:
Создание отдельного класса, покрывающего логические задачи, — это гораздо лучший способ, чем делать это внутри ViewController.
Нажмите Command + N, чтобы создать новый файл Swift и вызвать ScriptMessageHandler. Таким образом, вам нужно объявить класс с тем же именем, после чего вам нужно создать подкласс NSObject.
NSObject
– это так называемый универсальный базовый класс для всех классов Cocoa Touch.
2. соответствует протоколу WKScriptMessageHandler:
Теперь класс ScriptMessageHandler соответствует WKScriptMessageHandler , поэтому необходимо реализовать userContentController.
3. Объявите протокол для сообщений сценария:
Теперь нам нужно объявить протокол для отправки сообщений в ViewController.
4. Разобрать сообщение и отправить его в viewController:
мы получаем сообщение в func userContentController, после этого проверяем имя и анализируем тело и отправляем его делегатом.
5. подготовьте конфигурацию для WKWebView:
убедитесь, что имя сообщения в javaScript совпадает с именем конфигурации, в этом примере мы использовали логин.
наконец, в коде javascript:
заканчивать. теперь вам нужно реализовать ScriptMessageHandler в ViewController.
Заключение:
WKScriptMessageHandler позволяет легко общаться с помощью JavaScript
Исходный код доступен на Github
Спасибо, что прочитали эту статью. Если вам понравилось, поделитесь с другими😊.
Я жду ваших комментариев или рекомендаций.
Свяжитесь со мной через LinkedIn