У меня есть интерфейс, который состоит из нескольких UIWebView, все из которых динамически загружаются HTML, наполненным Javascript MathJax, которые используются для отображения довольно многих уравнений в окне.
MathJax хранится локально и анализируется с помощью метода, описанного в этом руководстве: http://new2objectivec.blogspot.co.uk/2012/03/tutorial-how-to-setup-mathjax-locally.html
К сожалению, я не разбираюсь в javascript, и скрипты MathJax, похоже, загружаются в NSStrings через довольно запутанный процесс хранения временных файлов HTML и последующей их передачи обратно в UIWebViews (как описано в учебнике).
Это меня немного сбивает с толку, но работает отлично, хотя и с довольно скромным временем загрузки (в зависимости от количества загружаемых уравнений).
Я хочу знать, когда MathJax прекратил работу и полностью загрузился.
Я пробовал прослушивать метод didFinishLoading в делегате безрезультатно: вызывается только пару раз (для каждого веб-просмотра), даже тогда вызовы слишком рано. Во всяком случае, я не могу разобраться в нескольких вопросах SO, которые задают о проверке, когда javascript завершил загрузку в UIWebView.
Размещение временного представления загрузки перед UIWebViews, пока MathJax творит свою магию, было бы абсолютно идеально, чтобы избежать путаницы у пользователей. Однако, как вы, наверное, догадались, у меня большие проблемы с его обнаружением.
Есть ли у кого-нибудь советы или опыт, связанные с работой с обнаружением загрузки MathJax / javascript в UIWebViews?
Любая помощь приветствуется, так как я, конечно, не хочу полагаться на произвольные NSTimers (т. Е. На «поддельные» загрузочные экраны).