访问 UIWebView 的 JavaScriptCore 引擎

Access the JavaScriptCore engine of a UIWebView(访问 UIWebView 的 JavaScriptCore 引擎)

本文介绍了访问 UIWebView 的 JavaScriptCore 引擎的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚在 iOS7 中发现了一个可用的新框架:JavaScriptCore.

I just discovered a new framework available in iOS7: JavaScriptCore.

看起来很棒,但是我如何访问 UIWebView 的运行时/上下文?

It looks awesome, but how can I access the runtime/context of a UIWebView?

推荐答案

这个没有官方机制.但是我知道有两种方法可以获取 JSContext.我可能不会在运输应用中使用任何一种.

There is no official mechanism for this. But there are two approaches I know about to get the JSContext. I probably wouldn't use either in a shipping app.

  1. 使用 KVC 访问内部 UIWebView 属性.在这篇博文中有详细解释:http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7
  1. Use KVC to access internal UIWebView properties. Explained in detail in this blog post: http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7

JSContext *ctx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

  1. 通过类别将魔术方法添加到NSObject.在这里进行更详细的解释:https://github.com/TomSwift/UIWebView-TS_JavaScriptContext
  1. Add a magic method to NSObject via a category. Explained in more detail, here: https://github.com/TomSwift/UIWebView-TS_JavaScriptContext

@implementation NSObject (magic)
- (void) webView: (id) unused didCreateJavaScriptContext: (JSContext*) ctx forFrame: (id) frame
{
    // ...
}
@end

这篇关于访问 UIWebView 的 JavaScriptCore 引擎的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:访问 UIWebView 的 JavaScriptCore 引擎

基础教程推荐