UIWebview与H5数据交互简记

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" οnclick="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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值