iPhone - 我如何知道 URL 是否是资源文件?
我在 shouldStartLoadWithRequest 中捕获了一个 url。
我如何知道它是否是我的项目资源之一正在尝试打开(例如使用 [self.webView loadHTMLString:htmlContentFinal baseURL:[NSURL fileURLWithPath:bundlePath]];
)或其他内容?
I'm catching an url in shouldStartLoadWithRequest.
How may I know if it's one of my project resources that is trying to be opened (for example with [self.webView loadHTMLString:htmlContentFinal baseURL:[NSURL fileURLWithPath:bundlePath]];
), or something else ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以检查 URL 字符串是否以
file://
开头:您可以实现
-textFieldDidBeginEditing
或-textFieldDidEndEditing
并将一些布尔属性设置为YES
:You can check if URL string starts with
file://
:You can implement
-textFieldDidBeginEditing
or-textFieldDidEndEditing
and set some boolean properties toYES
:检查
[URL 架构]
。如果它是file
,那么它就是一个本地文件。不过,它不一定是捆绑资源 - 例如,它可能是应用程序文档中的文件。为了确保它位于捆绑包中,请将路径的开头与捆绑包的路径(可从 [NSBundle mainBundle] 获取)相匹配。虽然我不明白为什么。
Check the
[URL schema]
. If it'sfile
, then it's a local file. It won't be necessarily a bundle resource, though - could be a file in your app's Documents, for example.To make sure it's in the bundle, match the beginning of the path with the bundle's path, available from the [NSBundle mainBundle]. Although I don't see why.