本篇文章主要介绍了"网页与原生应用之间互相跳转",主要涉及到WebView方面的内容,对于移动开发感兴趣的同学可以参考一下:
现在的移动应用中,常常需要在应用中展示一个Web页面,通常Web页面也需要再转回原生的应用页面,从而达到更多的页面复用。这里介绍一种方式,通过提前截获要跳转的A...
现在的移动应用中,常常需要在应用中展示一个Web页面,通常Web页面也需要再转回原生的应用页面,从而达到更多的页面复用。
这里介绍一种方式,通过提前截获要跳转的A标签,来判断是否需要跳转。
下面是方法:
Android:
1 mWebView.getSettings().setDomStorageEnabled(true);
2 mWebView.getSettings().setDatabaseEnabled(true);
3 mWebView.getSettings().setJavaScriptEnabled(true);
4 mWebView.loadUrl(url);
5 mWebView.setWebViewClient(new WebViewClient() {
6 @Override
7publicboolean shouldOverrideUrlLoading(WebView view, String url) {
8//这里添加判断代码,根据url来判断是否需要跳转到原生页面或是继续跳转到网页
9// view.loadUrl(url); 10returntrue;// 返回true来结束这次监听,不需要再次广播11 }
12 });
iOS:
UIWebView所在的Controller需要实现UIWebViewDelegate
下面是代码:
1 - (void)viewDidLoad {
2 [super viewDidLoad];
3 self.theWebView.delegate = self; // 注意:这里需要设置委托 4 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
5 NSURLRequest *request = [NSURLRequest requestWithURL:url];
6 [self.theWebView loadRequest:request];
7}
8 9 - (BOOL)WebView:(UIWebView *)WebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
10//判断是否是单击11if (navigationType == UIWebViewNavigationTypeLinkClicked)
12 {
13 NSURL *url = [request URL];
14// 这里加入判断语句,判断网页url,是否需要继续跳转,或是使用原生页面15return NO; // 返回NO,结束网页跳转,如果要继续跳转,需要返回YES16 }
17return YES; // 继续网页跳转18}
以上就介绍了网页与原生应用之间互相跳转,包括了WebView方面的内容,希望对移动开发有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_248595.html