美文网首页
wkwebview简单应用

wkwebview简单应用

作者: 40dd4b561abe | 来源:发表于2017-07-05 13:44 被阅读9次

#import <WebKit/WebKit.h> //包含头文件
<WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler>//继承代理

    _wkwebView = [[WKWebView alloc] initWithFrame:self.view.bounds];//self.view.bounds
//   [_wkwebView.configuration.userContentController addScriptMessageHandler:self name:@"jakilllog"];
    
    NSString * string = [NSString stringWithFormat:@"function userFunc(){ return %@;}",@"{'sdf':'sdfsdf'}"];
    NSString *javaScriptSource = string;
    
    WKUserScript *userScript = [[WKUserScript alloc] initWithSource:javaScriptSource injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES];// forMainFrameOnly:NO(全局窗口),yes(只限主窗口)
    
    [_wkwebView.configuration.userContentController addUserScript:userScript];//这种方法在js中就当已经实现了userFunc方法,直接调用就好

    _wkwebView.navigationDelegate = self;
    
    _wkwebView.UIDelegate = self;
    NSString * urlStr = @"http://my.com/hh.html";
    NSURL *url = [NSURL URLWithString:urlStr];  //测试本地H5
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:1];
    [_wkwebView loadRequest:request ];
    [self.view addSubview:_wkwebView];

js代码

function buttonClick()

{
    // alert('js df OC' + data);

        var message = { 'message' : 'Hello, World!', 'numbers' : [ 1, 2, 3 ] };

//这个对应ocz中 的实现
//   [_wkwebView.configuration.userContentController addScriptMessageHandler:self name:@"jakilllog"];
//- (void)userContentController:(WKUserContentController *)userContentController

  //    didReceiveScriptMessage:(WKScriptMessage *)message

//{
    
  //  NSLog(@"Message: %@", message.body);//body为传过来的值
    
//}

    window.webkit.messageHandlers.jakilllog.postMessage("jakilllog");

}

function buttonClickReturn()

{
    // alert('js df OC' + data);
var user = userFunc();
        alert(user['sdf']);
        alert('sdf');

}

function but()

{

alert('test js OC');

}

相关文章

网友评论

      本文标题:wkwebview简单应用

      本文链接:https://www.haomeiwen.com/subject/omcqhxtx.html