UIWebView JSContext相关问题

近期和同事的项目中使用到了UIWebview的JSContext相关的特性javascript

因为开始从ios7适配,能够用javascriptcore.framework,和h5的通讯也相对之前简单了不少,不须要定义那么多的url shcemajava

具体javascript和native经过javascriptcore互相调用的例子能够看这个ios

http://justsee.iteye.com/blog/2036713git

 

这里遇到一个tricky问题github

JSContext这个对象会常常变化,在WebView开始load到finish load会变化,在finishload以后在页面内href连接到另外一个页面也会变化web

及时的获取到当前的jscontext对象很是关键api

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

 上面这种方式获取的时候,不能在context变化后及时知道app

 

mac底下有个api,每次create新的contenxt就会有回调出来工具

具体能够看这个开源工具:https://github.com/TomSwift/UIWebView-TS_JavaScriptContext这个开源工具里面有私有api调用,若是要是上传appstore要注意删除其中的几行代码@implementation NSObject (magic) - (void) webView: (id) unused didCreateJavaScriptContext: (JSContext*) ctx forFrame: (id) frame { // ... } @end
相关文章
相关标签/搜索