2012-05-04 3 views
0

Я использую метод webView:shouldStartLoadWithRequest:navigationType для вызова моего кода Objective-C из JavaScript, который работает нормально. Проблема в том, что этот метод вызывается только при перезагрузке веб-представления. Я хочу иметь возможность отправлять сообщения «когда захочу». Это возможно?Вызов метода UIWebViewDelegate «когда я хочу»

В частности, я хочу использовать document.location = "myapp:" + "customerAdded:" + "YES"; так часто, как я желаю. Мой код запускается только при рисовании карты с помощью Google API V3.

Возможно ли перезагрузить «невидимый» кадр, чтобы вызвать метод делегата?

ответ

1

попробовать это, отлично работает для меня

function invokeObjectiveC() { 
    var iframe = document.createElement("IFRAME"); 
    iframe.setAttribute(your stuff here); 
    document.documentElement.appendChild(iframe); 
    iframe.parentNode.removeChild(iframe); 
    iframe = null; 
} 
+0

большое спасибо, вот что я искал! – MJB

0

webView:shouldStartLoadWithRequest:navigationType: следует вызывать только при перезагрузке веб-страницы, это и есть цель этого делегата. Вы можете использовать NSNotificationCenter для вызова метода, который перезагружает ваш веб-просмотр.

+0

он должен перезагружать всю страницу, чтобы вызвать делегат? – MJB

+0

Да, вы не можете загружать часть веб-страницы в любом случае – WrightsCS

Смежные вопросы