本文介绍了访问 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.
- 使用 KVC 访问内部
UIWebView
属性.在这篇博文中有详细解释:http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7
- 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"];
- 通过类别将魔术方法添加到
NSObject
.在这里进行更详细的解释:https://github.com/TomSwift/UIWebView-TS_JavaScriptContext
- 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 引擎的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!