Я хотел бы знать наверняка, когда загрузка страницы будет завершена в UIWebView
. Я знаю о подходе "подсчета ссылок" между didStartLoad
/didFinishLoad
, описанном здесь и это вроде как работает для меня, но я не очень уверен в этом. Он стал несколько волосатым ifs
и все еще ведет себя странно, когда Javascript решает поговорить с document.location
. Мне неясно именно следующее:
UIWebViewDelegate
при всей мощности, которую он должен поддерживать, он очень лаконичен и имеет за исключением документации. Может ли кто-нибудь подтвердить, чтоdidStartLoad
/didFinishLoad
действительно вызывается только для «фреймов», что, скорее всего, означает «набор фреймов/фрейм» и «iframe»?- как я могу отличить вышеупомянутые нагрузки, вызванные DOM, от перенаправлений запросов (которые также создают события)?
- мое наблюдение состоит в том, что каждому
didStartLoad
предшествуетshouldStartLoadWithRequest
, за исключением перенаправлений. Это надежное поведение? - я что-то упустил, или нет никакого способа узнать, какой запрос вызвал конкретное
didStartLoad
? Поскольку[[webView request] URL]
единственного заданного контекста всегда возвращает один и тот же URL-адрес, то есть тот, который UIWebView было предложено загрузить изначально.