Я пытаюсь передать несколько вещей от веб-страницы в UIWebView назад к моему приложению для iPhone с помощью shouldStartLoadWithRequest метода UIWebView.
В основном моя веб-страница называет window.location.href = "command://foo=bar", и я могу прервать это в своем приложении без проблем. Теперь, если я создаю цикл и делаю к нескольким вызовам window.location.href сразу, затем shouldStartLoadWithRequest только, кажется, обращаются однажды и вызов, который это получает, самое последнее увольнение window.location.href в конце цикла.
То же самое происходит с webview для Android, только последний window.location.href обрабатывается.
iFrame = document.createElement("IFRAME");
iFrame.setAttribute("src", "command://foo=bar");
document.body.appendChild(iFrame);
iFrame.parentNode.removeChild(iFrame);
iFrame = null;
Таким образом, мы создаем iframe, устанавливаем его источник в команду, которую я пытаюсь передать приложению, затем, как только он добавляется в тело shouldStartLoadWithRequest, вызывается вызов, затем мы удаляем iframe из тела и устанавливаем его в null, чтобы освободить память.
Я также протестировал это на Android webview, используя shouldOverrideUrlLoading, и это также сработало правильно!