iOS H5嵌套打电话功能实现

在ios中,用H5编写了可以打电话的页面。点击“拨打”按钮后可以进行跳转到打电话的页面(跳转这一块应该是和浏览器有关),跳转之后拨打完电话能够回到之前打电话的页面。

第一步:其实就是发送了一个get请求,url就是:tel:13587454758;与h5交互:获取到电话号码(URL);

第二步:[self openUrl:url];

第三步:

-(void)openUrl:(NSString *)urlStr{

NSURL *url = [NSURL URLWithString:urlStr];

UIApplication *application = [UIApplication sharedApplication];

if (![application canOpenURL:url]) {

NSLog(@"无法打开\"%@\", 请确保此应用正确安装", url);

}else

[[UIApplication sharedApplication]openURL:url];

}

获取网页url方式:

1.UIWebView

方法1:NSString *location =[webViewstringByEvaluatingJavaScriptFromString:@"document.location"];

方法2:NSLog(@"webView location = '%@'", webView.request.URL.absoluteString);

以上两种一定要放在页面成功加载之后才可以的!

- (void)webViewDidFinishLoad:(UIWebView *)webView {

NSString*currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

}

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request

navigationType:(UIWebViewNavigationType)navigationType {

// 判断是否是单击

if (navigationType == UIWebViewNavigationTypeLinkClicked) {

NSString *currentURL= myWebView.request.URL.absoluteString;

NSLog(@"你单击的网址是:%@", currentURL);

}

return YES;

}

2.WKWebview

#pragma mark 在发送请求之前,决定是否跳转

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

//    NSLog(@"%s",__FUNCTION__);

/**

*typedef NS_ENUM(NSInteger, WKNavigationActionPolicy) {

WKNavigationActionPolicyCancel, // 取消

WKNavigationActionPolicyAllow,  // 继续

}

*/

NSString *reqUrl = [navigationAction.request.URL.absoluteString stringByRemovingPercentEncoding];

decisionHandler(WKNavigationActionPolicyAllow);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,271评论 0 2
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,726评论 2 7
  • 1、加载网页 WKWebView *webView = [[WKWebView alloc] initWithFr...
    LearningCoding阅读 3,162评论 0 2
  • 一、简介 近两年随着HTML5的迅速发展与日趋成熟,越来越多的移动开发者选择使用HTML5来进行混合开发,不...
    宝宝teacher阅读 2,379评论 3 15
  • 我再也找不到借口,来掩饰自己内心的慌乱。我没有办法开导自己去接受你的做法,说痛心疾首,那是夸张。一种无法言语的...
    半旧人阅读 240评论 0 2