zoukankan      html  css  js  c++  java
  • 网页与原生应用之间互相跳转

    现在的移动应用中,常常需要在应用中展示一个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
     7             public boolean shouldOverrideUrlLoading(WebView view, String url) {
     8                 //这里添加判断代码,根据url来判断是否需要跳转到原生页面或是继续跳转到网页
     9 //                view.loadUrl(url); 
    10                     return true;// 返回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     //判断是否是单击
    11     if (navigationType == UIWebViewNavigationTypeLinkClicked)
    12     {
    13         NSURL *url = [request URL];
    14         // 这里加入判断语句,判断网页url,是否需要继续跳转,或是使用原生页面
    15         return NO; // 返回NO,结束网页跳转,如果要继续跳转,需要返回YES
    16     }
    17     return YES; // 继续网页跳转
    18 }

    本文已在版权印备案,如需转载请在版权印获取授权

    版权印为您的作品印上版权36735100

  • 相关阅读:
    “TensorFlow 开发者出道计划”全攻略,玩转社区看这里!
    魔改合成大西瓜
    自定义注解!绝对是程序员装逼的利器!!
    Python中的join()函数的用法
    Python中的split()函数的用法
    linux 完全卸载mysql数据库
    域名被盗后还能不能找回
    在选择域名后缀时应该考虑到的问题
    什么叫域名劫持 和域名解析有什么区别
    河北重大技术需求系统04
  • 原文地址:https://www.cnblogs.com/maomishen/p/4718793.html
Copyright © 2011-2022 走看看