gpt4 book ai didi

html - WKWebview加载本地html文件并深度链接进入目标页面

转载 作者:行者123 更新时间:2023-11-29 11:28:50 41 4
gpt4 key购买 nike

我的应用程序中有一个 WKWebview 并加载本地 .html 文件。
我想使用深层链接重定向特定页面。
我不知道该怎么做。
你们有什么想法吗?请告诉我一个解决方案?

深层链接示例:

helloAPP://index.html#/article/list/123345

代码:

@property (strong, nonatomic) IBOutlet WKWebView *webView;

- (void)viewDidLoad {

self.webView = [self.webView initWithFrame:[UIScreen mainScreen].bounds configuration:[self createWKWebApp]];
[self.webView setNavigationDelegate:self];
[self.webView setUIDelegate:self];
[self.webView.configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];
self.webView.scrollView.bounces = NO;
[self.webView setContentMode:UIViewContentModeScaleAspectFit];

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www/phoneApp"]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:180];
[request setHTTPMethod:@"POST"];

[self.webView loadRequest:request];
}

最佳答案

您必须实现 WKNavigationDelegate 的方法 decidePolicyForNavigationAction

- (void) webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
if ([navigationAction.request.URL.scheme isEqualToString:@"helloAPP"]){
// Open app page based on the url
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
decisionHandler(WKNavigationActionPolicyAllow);
}

关于html - WKWebview加载本地html文件并深度链接进入目标页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55739957/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com