h5原生交互
刘小哈哈哈
这个作者很懒,什么都没留下…
展开
-
记录一个网页空白的问题
遇到一个问题,网页展示不出来内容。前端怀疑是我们客户端除了问题,但是我们这里并没有排查出什么问题。为了确认是哪里的问题,这里通过浏览器查看网络元素,排查出是h5的问题。查看元素的时候,发现有如下报错。然后把截图发给前端,让他们修改。原创 2023-05-26 22:34:00 · 70 阅读 · 0 评论 -
iOS 如何调试h5 网页
1 选中safari 浏览器的开发菜单2 光标移动刀 模拟器或者真机上,并选中我们要测试的网页3 浏览器就会展示出如图所示的网页元素,就可以调试了原创 2022-06-16 22:21:47 · 1759 阅读 · 1 评论 -
WKWebView中调用addScriptMessageHandler导致的内存泄漏问题
WKWebView中的内存泄漏问题代码内存泄漏原因解决方法问题代码 WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init]; configuration.allowsInlineMediaPlayback = YES; self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, 375, 667) configur原创 2021-10-16 08:28:04 · 779 阅读 · 0 评论 -
iOS 使用wkWebView 获取userAgent
__block WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero]; [webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(NSString *result, NSError * error) { webView = nil; /// 延迟webview释放,否则无法获取result if (!er..原创 2021-12-28 16:24:14 · 2183 阅读 · 0 评论 -
iOS使用url 完成原生向wekWebView 传值的功能
原生向h5传值 NSString *link = [NSString stringWithFormat:@"%@?safeStatusBarHeight%f&userId=%@systemNotificationOpen%d",listItem.link,SafeAreaTopHeight,[TPUserDefault instance].userBO.userId,open];使用带参数的URL 创建网页请求即可...原创 2021-10-15 15:55:51 · 214 阅读 · 0 评论 -
记录一个webView 中按钮点击原生无法收到响应的问题 not enough arguments
原生代码添加messagehandler [self.webView.configuration.userContentController addScriptMessageHandler:jsModel name:@"openSystemNotification"];js 代码window.webkit.messageHandlers.openSystemNotification.postMessage()- (void)userContentController:(WKUserC原创 2021-10-16 13:23:35 · 658 阅读 · 0 评论 -
WKUserScript JS注入
##WKUserScript JS注入在WebKit框架中,我们还可以预先添加JS方法,供其他人员调用。WKUserScript就是帮助我们完成JS注入的类,它能帮助我们在页面填充前或js填充完成后调用。核心方法。注入js , oc代码- (WKWebView *)webView { if (_webView == nil) { // js配置 WKUserContentController *userContentController = [[WKUserCo原创 2021-10-10 12:11:16 · 1254 阅读 · 0 评论 -
wkwebView 调用js方法
NSString*data=@"{'name':'冲出重围','data':{'pop_up_info':{'pop_up_title':'Don'tworry!','pop_up_message':'You'llgetXXcoinsonDAY4!'}},}";NSString*js=[NSStringstringWithFormat:@"window.webkit.messageHandlers.TXWVAPI.postMessage(%@)",da...原创 2020-08-25 16:23:15 · 432 阅读 · 0 评论 -
iOS 原生调用js 向h5 传参数
/// userInfoCallback 是js 代码中的方法名/// param 是字典转化的json 字符串 NSString *jsstring = [NSString stringWithFormat:@"userInfoCallback(%@)",param]; if (self.wkWebView) { [self.wkWebView evaluateJavaScript:jsstring completionHandler:^(id _Nullabl原创 2021-10-15 16:09:09 · 792 阅读 · 0 评论 -
iOS WKWebview的使用
@[TOC]weksWebView使用创建WKWebview创建 WKWebViewConfiguration对象 WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.allowsInlineMediaPlayback = YES; //是否允许内联播放(YES)或使用本机全屏控制器(NO),默认是NO。创建wkwebview///使用config 创建webview原创 2021-10-10 11:08:02 · 1322 阅读 · 0 评论 -
WKWebView 延迟调用js 方法 排查js代码错误
遇到一个问题:就是,我们iOSWKWebView 加载完成的时候,会通过 evaluateJavaScript方式调用js 的方法如图js 代码可知 webOnload 方法中会调用 sendWebHeight方法由 上图可知 sendWebHeight方法中会向原生代码发送方法名为contentHeight 方法调用通知。但是,我们在原生代码 的代理方法didReceiveScriptMessage中,并没有收到contentHeight 的调用通知然后就使用了这里要介绍的调原创 2021-09-24 16:20:30 · 636 阅读 · 0 评论 -
iOS oc调用js 方法
oc 代码 NSString *jsonString = @""; if (dic&&dic.count>0) { jsonString = dictionaryToJson(dic); } [self.webView evaluateJavaScript:[NSString stringWithFormat:@"webOnload(%@)",jsonString] completionHandler:^(id _Nullable obj,原创 2021-09-24 11:35:38 · 1499 阅读 · 0 评论 -
记录一个网页中按钮不能点击的问题
遇到一个问题,点击网页中的按钮之后,没有执行代理方法,是有审查元素之后发现问题所在,这里记录一下过程1 在手机上打开网页,连上电脑,使用浏览器审查元素点击红框里面的内容跳转到如图所示的地方,发现是js代码中调用原生的地方写错了...原创 2021-04-13 11:40:46 · 1515 阅读 · 0 评论 -
iOS使用电脑Safari浏览器查看真机h5网页元素
我们有时候需要查看h5网页的元素,可以帮助我们开发,下面我把浏览器查看真机h5网页元素的流程记录下来一 手机设置1 进入设置,找到safari2 找到高级3 进入高级,开启 网页检查器s手机设置完毕二 电脑设置,开启菜单栏的开发展示完毕三 使用,iphone 数据线链接电脑选择浏览器的开发can'da...原创 2021-04-01 11:25:40 · 2013 阅读 · 0 评论 -
iOS使用WKScriptMessageHandler实现js调用原生方法
1 添加代理,注册方法名 [_webView.configuration.userContentController addScriptMessageHandler:self name:@"这是约定好的回调方法名"];2 遵循协议@interface TXWebKitJavascriptBridge () <WKScriptMessageHan原创 2021-04-01 11:05:35 · 987 阅读 · 0 评论 -
使用webView加载带有html标签的字符串
NSURL *newBaseUrl=[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; [self.webView loadHTMLString:htmlString baseURL:newBaseUrl];原创 2021-03-08 16:21:41 · 480 阅读 · 0 评论 -
iOS 显示html标签富文本
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[@"<span style=\"color:#333333;font-size:14px;font-family:ArialMT\">Gradually add the </span><span style=...原创 2019-02-22 17:30:16 · 3156 阅读 · 0 评论 -
wkwebView 写入 cookie
正常情况下,wkwebView 发起请求是不需要我们手动设置cookie的,因为iOS系统中一个进程中公用一个NSHTTHCookieStorage,发送请求的时候会将cookie传入;但是会遇到需要我们手动写入 cookie的情况,直接上代码1 将需要写入的cookie参数拼接成js代码//配置config,获取cookieString- (NSString *)cookieJavaScriptString { NSMutableString *cookieString = [原创 2021-02-24 11:44:11 · 1087 阅读 · 0 评论