国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁化县| 阳春市| 中宁县| 闻喜县| 永善县| 宜君县| 朝阳市| 天镇县| 宜良县| 兴义市| 新乡县| 马公市| 廊坊市| 博爱县| 田林县| 鄯善县| 祁连县| 高州市| 台前县| 天水市| 若羌县| 德保县| 平利县| 会宁县| 融水| 岱山县| 武鸣县| 阜阳市| 当雄县| 乌海市| 绥芬河市| 崇仁县| 芜湖市| 洛浦县| 旬邑县| 东明县| 察雅县| 奈曼旗| 庆元县| 桂阳县| 福贡县|