Инициирование shouldStartLoadWithRequest с несколькими вызовами window.location.href

Я пытаюсь передать несколько вещей от веб-страницы в UIWebView назад к моему приложению для iPhone с помощью shouldStartLoadWithRequest метода UIWebView.

В основном моя веб-страница называет window.location.href = "command://foo=bar", и я могу прервать это в своем приложении без проблем. Теперь, если я создаю цикл и делаю к нескольким вызовам window.location.href сразу, затем shouldStartLoadWithRequest только, кажется, обращаются однажды и вызов, который это получает, самое последнее увольнение window.location.href в конце цикла.

То же самое происходит с webview для Android, только последний window.location.href обрабатывается.

9
задан AlBeebe 29 May 2010 в 11:23
поделиться

1 ответ

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, и это также сработало правильно!

41
ответ дан 4 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: