Pozwól mi wyjaśnić moje pytanie, które od dawna mnie dręczy. Każda pomoc zostanie doceniona. Proszę pomóż.Nie można wywołać natywnych funkcji systemu iOS z interfejsu UIWebView przy użyciu kodu JavaScriptCore i JSContext
Pracuję nad hybrydowym typem aplikacji na iOS. Używam UIWebView
do ładowania stron internetowych z http://myserver.com (jego przykład to nie rzeczywisty adres URL) Mam hostowane wiele stron internetowych na tym serwerze.
Używam "JSContext" do komunikowania się między javascript (stron załadowanych z mojego serwera) w UIWebView
i natywnych funkcji iOS.
Podążyłem za procedurą podaną pod UIWebView JavaScript losing reference to iOS JSContext namespace (object) kontekst został zgubiony, ale dodałem obejście dostarczone w rozwiązaniu tego pytania. Wydarzenie dla niektórych obciążeń wewnątrz ramki UIWebView
mój kontekst iOS znika. Po wykonaniu poniższych kroków kontekst znika.
- załadować PAGE1 z mójserwer w
UIWebView
. Prawie wszystko działa dobrze Wszystkie funkcje Natywny system operacyjny iOS nazywa się od javascript. - Teraz gdy drugi Strona2 jest ładowany w wyniku interakcji w Strona1, w samym
UIWebView
javascript kontekście pobiera zniknął.
Jest jeszcze jedna magiczna rzecz. jeśli bezpośrednio załaduję stronę2 w UIWebView
zamiast ładowania pośredniego (strona1 ->strona2). Wszystko działa dobrze, wszystkie metody natywne są wywoływane z poziomu UIwebView
zgodnie z oczekiwaniami. Proszę o pomoc. Jeśli chcesz uzyskać więcej informacji, zapytaj.
Czy to duplikat dla http://stackoverflow.com/questions/21714365/uiwebview-javascript-losing-reference-to-ios-jscontext-namespace-object? – Andy
To samo dzieje się na http://stackoverflow.com/questions/21714365/uiwebview-javascript-losing-reference-to-ios-jscontext-namespace-object. Po załadowaniu nowej strony nowa strona otrzymuje nowy JSContext. Wspomniałeś o obciążeniu ramek. Czy ramka ma poprawnie ustawiony zestaw JSContext? – pwc
Kiedy część strony ładuje się bez wywoływania webViewDidFinishedloading. Nie mogę ustawić JSContext dla takiego żądania. – jnix