我有一个带有UIWebView
的iOS应用。
在我的网站中,我的所有网页都有一个/ amp版本( i.e www.website-example.com/pageX/amp )
我使用shouldStartLoadWithRequest:
方法:url = [url URLByAppendingPathComponent:@"amp"]
如果我[[UIApplication sharedApplication] openURL:url];return false;
(因此它在Safari中打开了网址),它会打开好/放大器版本。
否则,如果我return false
(在追加 / amp 之后),它会打开网页视图中的网址,它不会打开/ amp版本,虽然URL包含/ amp。
编辑: 我正在添加Swift标记,因为它不是编程语言问题,它理解shouldStartLoadWithRequest方法。
有什么问题?
答案 0 :(得分:0)
您无法将/amp
附加到shouldStartLoadWithRequest
中的网址,必须添加/amp
并传递给loadRequest
方法。它在野生动物园开启很好,因为你正在通过" good" url,但是在添加/amp
之前UIWebView正在打开网址,而在shouldStartLoadWithRequest
中你无法操纵网址。
答案 1 :(得分:-1)
你应该得到这个代码:
[webView loadRequest:[NSURLRequest requestWithURL:[NSString stringWithFormat:@"%@/amp", request.URL]]];
方法中的:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
那会对你有所帮助。