zoukankan      html  css  js  c++  java
  • UIWebView JSContext相关问题

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

    由于开始从ios7适配,可以用javascriptcore.framework,和h5的通信也相对以前简单了很多,不需要定义那么多的url shcema

    具体javascript和native通过javascriptcore互相调用的例子可以看这个

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

    这里遇到一个tricky问题

    JSContext这个对象会经常变化,在WebView开始load到finish load会变化,在finishload之后在页面内href链接到另一个页面也会变化

    及时的获取到当前的jscontext对象非常关键

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

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

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

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


  • 相关阅读:
    JSP基础语法:注释、Scriptlet、编译指令
    JDBC的LIKE书写规范
    AWT回顾篇
    1.五子棋预备知识
    对象的生命周期回顾篇
    学习activemq(2)写个简单的程序
    activemq in action(3)剖析JMS消息(转)
    activemq in action(1)
    学习activemq(3)
    hadhoop安装
  • 原文地址:https://www.cnblogs.com/wxm5558/p/5477828.html
Copyright © 2011-2022 走看看