WKWebview js 调用oc 和oc调用js

oc调用js就特别简单了,只需WKWebView调用

-(void)evaluateJavaScript:completionHandler:方法即可。


js调用oc

#pragma mark - get方法

- (WKWebView*)webView {if(_webView ==nil) {// js配置WKUserContentController*userContentController = [[WKUserContentControlleralloc] init]; [userContentController addScriptMessageHandler:selfname:@"jsCallOC"];

// js注入,注入一个alert方法,页面加载完毕弹出一个对话框。

NSString*javaScriptSource =@"alert(\"WKUserScript注入js\");";

WKUserScript*userScript = [[WKUserScriptalloc] initWithSource:javaScriptSource injectionTime:WKUserScriptInjectionTimeAtDocumentEndforMainFrameOnly:YES];

// forMainFrameOnly:NO(全局窗口),yes(只限主窗口)

[userContentController addUserScript:userScript];

// WKWebView的配置WKWebViewConfiguration*configuration = [[WKWebViewConfigurationalloc] init]; 

 configuration.userContentController = userContentController;

// 显示WKWebView_webView = [[WKWebViewalloc] initWithFrame:self.view.frame configuration:configuration]; 

 [self.view addSubview:_webView]; }return_webView;

}

#pragma mark alert弹出框

- (void)webView:(WKWebView*)webView runJavaScriptAlertPanelWithMessage:(NSString*)message initiatedByFrame:(WKFrameInfo*)frame completionHandler:(void(^)(void))completionHandler {

NSLog(@"%s",__FUNCTION__);

// 确定按钮UIAlertAction*alertAction = [UIAlertActionactionWithTitle:@"OK"style:UIAlertActionStyleCancelhandler:^(UIAlertAction* _Nonnull action) {

 completionHandler();

 }];

// alert弹出框UIAlertController*alertController = [UIAlertControlleralertControllerWithTitle:message message:nilpreferredStyle:UIAlertControllerStyleAlert];

 [alertController addAction:alertAction]; [selfpresentViewController:alertController animated:YEScompletion:nil];

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载链接:腾讯Bugly 导语 WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView ...
    Jelly_沫阅读 2,870评论 0 3
  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 3,109评论 1 8
  • WKWebView是苹果在iOS 8之后推出的框架WebKit中的浏览器控件, 其加载速度比UIWebView快了...
    xzm_prefect阅读 506评论 0 0
  • 前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列...
    CoderLF阅读 9,016评论 2 12
  • 转载:http://www.cnblogs.com/NSong/p/6489802.html 导语 WKWebVi...
    李小威阅读 4,880评论 8 9