• 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要注意删除其中的几行代码


  • 相关阅读:
    ipv6 for openwrt odhcpd
    openwrt package Makefile
    openwrt 中个网络接口协议说明[转]
    openwrt Package aircrack-ng is missing dependencies for the following libraries:
    linux kernel 从cmdline 提取值
    js 上传文件进度条 [uboot使用]
    printk打印级别 [转]
    linux c 宏定义
    uboot 开发记录
    mac ssh scp命令
  • 原文地址:https://www.cnblogs.com/wxm5558/p/5477828.html
Copyright © 2020-2023  润新知