Я загружаю содержимое HTML в WKWebView.Я хочу изменить стиль загружаемого контента по требованию, и для этого я использовал метод valuJavaScript из WKWebView.Моя проблема в том, что, когда я пытаюсь изменить стиль тяжелого HTML, требуется время, чтобы отобразить изменения на экране.Я ищу что-то, чтобы сказать мне, когда рендеринг закончен, чтобы я мог держать пользователей в курсе того, что происходит в пользовательском интерфейсе, отправив им сообщение.
Я пытался использовать window.setTimeout(function(){window.webkit.messageHandlers.FinishShowingLoading.postMessage('some message')},0)
и window.addEventListener('load',function(){window.webkit.messageHandlers.FinishShowingLoading.postMessage('some message')},0)
.В обоих случаях сообщение отправляется до завершения рендеринга, и я не могу понять, в чем проблема.
Вот мой код:
func js(){
let changeJS = "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust = '200%'; window.webkit.messageHandlers.FinishShowingLoading.postMessage('some message')"
webView.evaluateJavaScript(changeJS) { (result, error) in
//do something
}
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "FinishShowingLoading" {
// do something
}}
Я был бы очень признателен за любуюПомогите.Заранее спасибо!