当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS:WKWebView(19-01-25更)

iOS:WKWebView(19-01-25更)

2019年01月26日  | 移动技术网IT编程  | 我要评论

重庆城投金卡,婷婷五月激情,恶搞大唐

以前用得不多,先开一篇,以后有遇到再补充。

 

1、js 调用 oc

1-1)、添加 和 js 约定的消息名

[self.usercontentcontroller addscriptmessagehandler:self  name:@"约定的消息名"];

 1-2)、得到 js 消息

#pragma mark - wkscriptmessagehandler
- (void)usercontentcontroller:(wkusercontentcontroller *)usercontentcontroller didreceivescriptmessage:(wkscriptmessage *)message
{
    if ([message.name isequaltostring:@"约定的消息名"]) {
        nslog(@"当前的消息为:%@", message.body[@"约定的key"]);
    }
}

 1-3)、移除

- (void)viewwilldisappear:(bool)animated{
    [super viewwilldisappear:animated];
    
    [self.usercontentcontroller removescriptmessagehandlerforname:@"约定的消息名"];
}

补充:这步最为重要,如果不移除,将得不到释放,比如h5的音乐在退出该vc(dealloc) 还会一直响。

 

附:js代码

function isandroid(argument) {
    var u = navigator.useragent;
    var flag = u.indexof('android') > -1 || u.indexof('adr') > -1; //android终端
    return flag;
}

function isios(argument) {
    var u = navigator.useragent;
    var flag = !!u.match(/\(i[^;]+;( u;)? cpu.+mac os x/); //ios终端
    return flag;
}
                         
function share(要传的value) {
    if(isandroid()){

    } else if(isios()) {
        window.webkit.messagehandlers.约定的消息名.postmessage({
                                                        "要传的key": 要传的value
                                                        });
    }
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网