分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

利用WKWebView实现js与OC交互注意事项

发布时间:2023-09-06 01:46责任编辑:傅花花关键词:jsWeb

最近在写一些关于wkwebview的一些代码,发现了几点心得,记录一下。

1.js调用OC

我是利用wkwebview进行的开发实现,主要代码有三部分

1.向config注入OC对象

 [config.userContentController addScriptMessageHandler:self name:@"YHModel" ];

2.js中书写调用方法:

window.webkit.messageHandlers.YHModel.postMessage({ ???????????height: $("html").height()});

3.完成OC回调方法

//js > OC- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message{ ???if ([message.name isEqualToString:@"YHModel"]) { ???????CGFloat height = [[message.body valueForKey:@"height"] floatValue]; ???}}

2.OC调用js

同样是利用wkwebview中的代码,实现起来分为两部分:

1.OC中代码

 [webView evaluateJavaScript:@"compeleteFlag=true" completionHandler:nil];

2.js中代码

var compeleteFlag = false;var timeintervalFunction = setInterval(function() {var widthValue = $("#progross").width();$("#progross").width(widthValue + space); ???if(widthValue >= $("#progrossPart").width() || compeleteFlag) { ??????????????$("#progross").width($("#progrossPart").width()); ?????????clearInterval(timeintervalFunction); ?????????$("#progrossPart").fadeOut(); ??????}}, 1000);

应当注意的是:

1.js回调OC时,应判断所获取的值是不是真实存在。
2.OC调用js代码时应该保证,js代码处于全局位置或者能够确定代码所处位置,正确认识其层级关系。

? ?
? ?
? ?

友情链接:

技术博客 ???????简书主页

利用WKWebView实现js与OC交互注意事项

原文地址:https://www.cnblogs.com/tig666666/p/8600724.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved