如何设置 UIWebView 的基本 URL

发布于 2024-12-07 19:26:32 字数 460 浏览 1 评论 0原文

我有一个 UIWebView,其中相对链接无法正确加载,因为该视图是在本地操作 html 数据后从数据对象加载的,而不是直接从 URL 加载的。现在页面上的所有相对链接都会失败,因为 UIWebView 不知道它们相对于什么。

例如:

<IMG SRC="img/foo.jpg">   

不会加载,因为

http://theoriginalsite.com/img/foo.jpg  

UIWebView 不是查找文件,而是查找

iphonefilesystem/thisapp/tempdir/img/foo.jpg  

是否有方法重置 UIWebView 的基本 URL,以便这些链接正常工作?我是否坚持在 html 数据操作中添加另一遍来重写其中的所有相对 URL?

I have a UIWebView where relative links fail to load properly, because the view was loaded from a data object after the html data has been locally manipulated, not direct from a URL. Now all the relative links on the page fail, because the UIWebView doesn't know what they're relative to.

For example:

<IMG SRC="img/foo.jpg">   

wouldn't load because rather than looking to

http://theoriginalsite.com/img/foo.jpg  

for the file, the UIWebView looks in

iphonefilesystem/thisapp/tempdir/img/foo.jpg  

Is there a way to reset the UIWebView's base URL, so that these links will work? Am I stuck with adding another pass to the html data manipulation to rewrite all the relative URLs within?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅冕 2024-12-14 19:26:32

这正是以下 UIWebView 方法中的 baseURL 参数的用途:

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

查看文档 此处

That's exactly what the baseURL parameter in the following UIWebView methods is for:

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

Have a look at the documentation here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文