首页 > Web开发 > 详细

WKWebView使用

时间:2018-03-12 16:03:52      阅读:223      评论:0      收藏:0      [点我收藏+]

1、js 调用oc方法

  

- (void)viewDidLoad {

    [super viewDidLoad];

    WKWebViewConfiguration *configur = [[WKWebViewConfiguration alloc] init];

    WKPreferences *preferences = [[WKPreferences alloc] init];

    configur.preferences = preferences;

    preferences.javaScriptEnabled = YES;

    

    self.userContentController = [[WKUserContentController alloc]init];

    [self.userContentController addScriptMessageHandler:self name:@"goBack"];

    configur.userContentController = self.userContentController;

    

    self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, MainScreenWidth, MainScreenHeight-NaviHeight-44) configuration:configur];

    

    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.10.60/"]]];

    

    self.webView.UIDelegate = self;

    self.webView.navigationDelegate = self;

    

    [self.view addSubview:self.webView];

    

}

//WKScriptMessageHandler协议方法

- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {

    if ([message.name isEqualToString:@"goBack"]) {

        //做处理 do something

        //message.body 为此 ScriptMessage 传递的消息内容

        NSLog(@"goBack");

    }

}

主要点:

  • 如果message.body中无参数,JS代码中需要传个null,不然iOS端不会接受到JS交互,window.webkit.messageHandlers.kJS_Login.postMessage(null)

WKWebView使用

原文:https://www.cnblogs.com/670074760-zsx/p/8549466.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!