您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“html5中怎么指定app頁面跳轉”,內容詳細,步驟清晰,細節處理妥當,希望這篇“html5中怎么指定app頁面跳轉”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
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和參數。
h6那邊只需要執行:
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;
}
讀到這里,這篇“html5中怎么指定app頁面跳轉”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。