【发布时间】:2014-04-14 16:25:18
【问题描述】:
让我解释一下我长期以来一直困扰着我的问题。任何帮助将不胜感激。请帮忙。
我正在开发 iOS 中的混合类型的应用程序。我正在使用 UIWebView 从 http://myserver.com 加载网页(它的示例不是实际 URL)我在此服务器上托管了多个网页。
我正在使用 "JSContext" 在UIWebView 中的 javascript(从我的服务器加载的网页)与原生 iOS 函数之间进行通信。
我已按照UIWebView JavaScript losing reference to iOS JSContext namespace (object) 给出的程序,上下文丢失了,但我添加了解决此问题的解决方法。
然后,对于UIWebView 内的某些帧加载事件,我的 iOS 上下文正在消失。
执行以下步骤后,上下文消失了。
- 我从
UIWebView的myserver 加载page1。几乎所有功能都运行良好所有功能 OS 原生 iOS 从 javascript 调用。 - 现在,由于 page1 中的交互而加载第二个 page2 时,相同的
UIWebViewjavascript 上下文会消失。
还有一件更神奇的事情。如果我在UIWebView 中直接加载page2 而不是间接加载(page1->page2)。一切正常,所有本机方法都按预期从UIwebView 调用。
请帮忙。如果您想了解更多信息,请询问。
【问题讨论】:
-
这与stackoverflow.com/questions/21714365/… 上发生的事情相同。加载新页面时,新页面会获得一个新的 JSContext。您提到了框架负载。框架的 JSContext 设置是否正确?
-
当页面的某些部分在没有调用 webViewDidFinishedloading 的情况下加载。我无法为此类请求设置 JSContext。
标签: javascript ios objective-c uiwebview