国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > HTML5 > 正文

Html5跳轉到APP指定頁面的實現

2024-09-05 07:23:14
字體:
來源:轉載
供稿:網友

1.設置urlschemes

urlschemes盡量設一個唯一的字符串,例如可以設為:iOS+公司英文名+ 項目工程名
比如我的設為iOSTencentTest,在瀏覽器中輸入地址iOSTencentTest://即可跳轉到我的app

2.跳轉到指定頁面

在使用iOSTencentTest://打開app會調用AppDelegate的代理方法

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options

跳轉指定頁面在該方法中操作
iOSTencentTest://后面是可以添加參數的,例如iOSTencentTest://goodsDetails?id=xxxxx
goodsDetails可直接通過url.host獲取
id=xxxxx 參數可直接通過url.query獲取
可以根據自身需求去設置不同的host和參數。

h5那邊只需要執行:

window.location.href = 'iOSTencentTest://goodsDetails?id=xxxxx'

附:

//獲取Window當前顯示的ViewController- (UIViewController*)currentViewController{    //獲得當前活動窗口的根視圖    UIViewController* vc = [UIApplication sharedApplication].keyWindow.rootViewController;    while (1)    {        //根據不同的頁面切換方式,逐步取得最上層的viewController        if ([vc isKindOfClass:[UITabBarController class]]) {            vc = ((UITabBarController*)vc).selectedViewController;        }        if ([vc isKindOfClass:[UINavigationController class]]) {            vc = ((UINavigationController*)vc).visibleViewController;        }        if (vc.presentedViewController) {            vc = vc.presentedViewController;        }else{            break;        }    }    return vc;}//NSString類別方法//通過url.query獲取參數字符 再分成字典 -(NSMutableDictionary *)getURLParameters{    if (!self.length) {        return nil;    }    NSMutableDictionary  *params = [NSMutableDictionary   dictionary];    if ([self containsString:@"&"]) {        NSArray *urlComponents = [self componentsSeparatedByString:@"&"];        for(NSString *keyValuePair in urlComponents) {            //生成key/value            NSArray *pairComponents = [keyValuePair componentsSeparatedByString:@"="];            NSString *key = [pairComponents.firstObject stringByRemovingPercentEncoding];            NSString*value = [pairComponents.lastObject stringByRemovingPercentEncoding];            //key不能為nil            if(key==nil|| value ==nil) continue;            id existValue = [params valueForKey:key];            if(existValue !=nil) {                //已存在的值,生成數組。                if([existValue isKindOfClass:[NSArray class]]) {                    //已存在的值生成數組                    NSMutableArray*items = [NSMutableArray arrayWithArray:existValue];                    [items addObject:value];                    [params setValue:items forKey:key];                }else{                    //非數組                    [params setValue:@[existValue,value]forKey:key];                }            }else{                //設置值                [params setValue:value forKey:key];            }        }    }else {        //單個參數生成key/value        NSArray *pairComponents = [self componentsSeparatedByString:@"="];        if(pairComponents.count==1) {            return nil;        }        //分隔值        NSString *key = [pairComponents.firstObject stringByRemovingPercentEncoding];        NSString *value = [pairComponents.lastObject stringByRemovingPercentEncoding];        //key不能為nil        if(key ==nil|| value ==nil)return nil;        //設置值        [params setValue:value forKey:key];    }    return params;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盈江县| 都江堰市| 昌平区| 凤城市| 湘阴县| 惠州市| 武冈市| 蓬莱市| 剑阁县| 新河县| 江达县| 邯郸县| 绥芬河市| 饶河县| 汕尾市| 莆田市| 洞口县| 乐清市| 宁安市| 北宁市| 雅江县| 营山县| 临漳县| 祁东县| 武山县| 张北县| 阜新市| 绍兴县| 济南市| 兴国县| 拉萨市| 柯坪县| 灌南县| 宜兰县| 阿图什市| 新疆| 望江县| 万盛区| 会东县| 朝阳区| 阜阳市|