您的位置:首页 > 移动开发

UIWebview与H5数据交互简记

2016-04-26 15:00 260 查看
2016-04-26 by 木易哥哥--Edward 

#pragma mark- 返回上一级

- (void)backToPerView:(UIButton *)sender

{

if ([myWV
canGoBack]) {

[myWV
goBack];

}

else{

[self.navigationController
popViewControllerAnimated:YES];

}

}

#pragma mark-
监控H5点击按钮

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest
*)request navigationType:(UIWebViewNavigationType)navigationType{

if ([request.mainDocumentURL.relativePath
isEqualToString:@"/clicked"])

{

//具体分享逻辑

[self
loadDataForShareOrderWithDic:self.dic];

return
false;
//执行本地代码,返回false不让网页读取网络资源

}

return
true;
//为yes加载内容,否则不

}

#pragma mark- H5按钮配置逻辑

<button type="button"
id="btn-ios" class="send-coupon" onclick="shareIos();">分享好友领红包</button>

function
shareIos(){

var clicked = true;

window.location = "/clicked";

}

#pragma mark- 取H5传过来的值

-(void)webViewDidFinishLoad:(UIWebView *)webView

{

NSString *str1 = [webView
stringByEvaluatingJavaScriptFromString:@"document.getElementById('fxnr').value;"];

NSString *dic = [NSJSONSerialization
JSONObjectWithData:[str1
dataUsingEncoding:NSUTF8StringEncoding]
options:NSJSONReadingAllowFragments
error:nil];

NSDictionary *data = [NSJSONSerialization
JSONObjectWithData:[dic
dataUsingEncoding:NSUTF8StringEncoding]
options:NSJSONReadingAllowFragments
error:nil];

self.dic = data[@"data"];

}

#pragma mark- H5传值配置

var
xhr = new XMLHttpRequest();

var token = window.location.search.substr(7);

var url = "/share/get_link.php?token="
+ token + "&type=3";

// var inputValue = "";

var shareValue = {};

console.log(token);

console.log(url);

xhr.onreadystatechange
= function(){

if(xhr.readyState ==
4 && xhr.status == 200){

console.log(xhr.responseText);

// for(var item in xhr.responseText){

// inputValue += xhr.responseText[item]
+ ";"

// }

shareValue = xhr.responseText;

document.getElementById("fxnr").value
= JSON.stringify(xhr.responseText);

}

}

xhr.open("GET", url,
true);

xhr.send();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: