美文网首页
wkwebView_js与OC交互实例

wkwebView_js与OC交互实例

作者: _亻弋_石马_亻_生 | 来源:发表于2017-10-20 10:20 被阅读73次

* js与ios交互 实例

  • js调用OC *
    window.webkit.messageHandlers<name>.postMessage(<messageBody>);

  • name:方法名 注:要与oc统一

  • messageBody:传值
    注:
    传null 例:postMessage(null),
    传字典 例:postMessage({title:'测试分享的标题',content:'测试分享的内容’}),
    传字符串 例:postMessage('shake_sound_male.wav’),
    传数组 例:postMessage([67,205,128,0.5])

  • 传值类型要通知oc端,否则会响应无效,无法调用成功。

// 传null

function scanClick() {

window.webkit.messageHandlers.ScanAction.postMessage(null);

}

// 传字典

function shareClick() {

window.webkit.messageHandlers.Share.postMessage({title:'测试分享的标题',content:'测试分享的内容',url:'http://www.baidu.com'});

}

// 传字符串

function playSound() {

window.webkit.messageHandlers.PlaySound.postMessage('shake_sound_male.wav');

}

// 传数组

function colorClick() {

window.webkit.messageHandlers.Color.postMessage([67,205,128,0.5]);

}

oc调用js方法或传值

function tapClick() {   

window.webkit.messageHandlers.viewTapClick.postMessage({x: 100, y: 100});

}

try{

//js传值到oc

window.webkit.messageHandlers.viewSwipe.postMessage({from: {x: 100, y:100}, to: {x: 100, y: 500}, duration: 1000 ,tap: "tapClick"});

}catch (e){

console.log(e.toString())

;}

oc wkWebView 写法

[(WKWebView *)_webView evaluateJavaScript:@"tapClick()" completionHandler:^(id param, NSError * error){

}];

相关文章

网友评论

      本文标题:wkwebView_js与OC交互实例

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