ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障

ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障,第1张

概述我正在加载一个本地html页面并在shouldStartLoadWithRequest中:使用以下url: ... /Library/Application%20Support/CDS/%3Fpid=27ce1ef8-c75e-403b-aea1-db1ae31e05cc/... 在该页面中,如果用户点击链接转到外部网站,则他们点击我的代码处理它的后退按钮: if ([self.webView c 我正在加载一个本地html页面并在shouldStartLoaDWithRequest中:使用以下url:

... /library/Application%20Support/CDS/%3FpID=27ce1ef8-c75e-403b-aea1-db1ae31e05cc/...

在该页面中,如果用户点击链接转到外部网站,则他们点击我的代码处理它的后退按钮:

if ([self.webVIEw canGoBack])    [self.webVIEw goBack];

但是,当调用[self.webVIEw goBack]后,再次调用shouldStartLoaDWithRequest:时,传递给shouldStartLoaDWithRequest的URL已更改为:

`... /library/Application%20Support/CDS/?pID=27ce1ef8-c75e-403b-aea1-db1ae31e05cc/..`.

即OS已经改变了“?”在“?”的URL内.

我从shouldStartLoaDWithRequest返回YES:但由于“?”转向 ”?”导致使用WebKitErrorDomain 102调用dIDFailLoaDWithError:并且页面无法加载.

文件实际上有?在它的名字,但它是转换成的iOS系统调用?在构建NSURL对象的过程中,该对象传递给UIWebVIEw:loadRequest:如下所示

NSURL *fullURL = [[NSfileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory                                                                                 inDomain:NSUserDomainMask                                                                          appropriateForURL:nil                                                                                            create: YES                                                                                               error:&err];fullURL = [fullURL URLByAppendingPathComponent:folderLocation isDirectory:YES];fullRul = [fullURL URLByAppendingPathComponent: pagetoLoad isDirectory:NO];NSURLRequest *requestObj = [NSURLRequest requestWithURL: fullURL];      [self.webVIEw loadRequest:requestObj];

folderLocation是一个包含?的Nsstring,对URLByAppendingPathComponent的调用会自动将其转换为?,而不进行该转换,页面加载失败.

有没有人见过这个?

解决方法 我没有使用文件网址,但我遇到了同样的问题.
看起来这是处理它的最佳方式.

Nsstring *newURLString = [[origurl absoluteString] stringByAppendingPathComponent:appendedString];NSURL *url = [NSURL URLWithString:newURLString];
总结

以上是内存溢出为你收集整理的ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障全部内容,希望文章能够帮你解决ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1035779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存