我刚刚在iOS7中发现了一个新的框架: JavaScriptCore。
它看起来很棒,但是我如何访问UIWebView的运行时/上下文?
发布于 2013-11-22 23:20:46
这方面没有官方机制。但是,我知道有两种方法可以获得JSContext。我可能不会在送货应用程序中使用任何一种。
UIWebView属性。在这篇博文中详细解释:http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7JSContext *ctx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];NSObject添加一个神奇的方法。更详细地解释,在这里:JavaScriptContext@implementation NSObject (magic)
- (void) webView: (id) unused didCreateJavaScriptContext: (JSContext*) ctx forFrame: (id) frame
{
// ...
}
@end发布于 2013-12-19 06:57:42
你可能想看看开发者网站(https://developer.apple.com/wwdc/videos/)上的2013年https://developer.apple.com/wwdc/videos/会话视频,特别是“将JavaScript集成到本地应用程序”,其中引用了“向JavaScriptCore引入一个新目标--C API。iOS开发人员现在可以将脚本集成到他们的应用程序中,而不必捆绑自定义语言解释器。该API建立在现有的从Mac到JavaScriptCore的can之上,使得使用JavaScript编程变得更容易,也更容易出错。”关于与WebView一起使用它有一节,例如:使用:-webView:didCreateJavaScriptContext:forFrame:
发布于 2013-10-29 16:55:17
JavaScriptCore的存在使得开发人员可以从Objective中使用JavaScript运行时。我所知道的访问UIWebView运行时的唯一方法是通过stringByEvaluatingJavaScriptFromString:方法,这显然不是很灵活。
https://stackoverflow.com/questions/19664206
复制相似问题