【问题标题】:Why does UIWebView has problems with & characters in URL (wants &)为什么 UIWebView 在 URL 中出现 & 字符的问题(想要 &)
【发布时间】:2010-09-30 14:00:09
【问题描述】:

我在 iPhone 应用程序中使用的 UIWebView 有问题。 UIWebView 中显示的源代码,除了许多其他内容外,还包含以下标记:

<object width="150" height="121"><param name="movie" value="http://www.youtube.com/v/SOMEVIDEO&hl=de&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SOMEVIDEO&hl=de&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="150" height="121"></embed></object>

UIWebView 拒绝以正确的方式显示视频,因为嵌入对象的 URL 中有 '&'-signhttp://www.youtube.com/v/SOMEVIDEO&hl=de&fs=1

如果我将 '&' 替换为 '&',UIWebView 中的所有内容都会显示。同样的问题不仅出现在嵌入式视频中,也出现在常规 URL 中。奇怪的是,Safari-App 正确显示了相同的网站,但我的 App 中的 UIWebView 却没有。我在这里遗漏了什么明显的东西吗?

PS:UIWebView 在尝试使用内容呈现时在页面顶部显示错误消息:

This page contains the following errors:
Error on line 102 at column 97: Entity Ref: expecting ';'
Below is a rendering of the page up to the first error.

更新为清楚起见:

我使用这个请求来加载内容:

[myWebView loadRequest:request];

这就是为什么不能像 Jasarien 建议的那样在 NSString 上使用 -stringByAddingPercentEscapes 方法的原因。这是关于整个源,而不是单个 URL。

【问题讨论】:

  • 你能解决这个问题吗?我也在经历。

标签: iphone uikit uiwebview rendering


【解决方案1】:

这是因为 & 符号必须经过 URL 编码才能在 URL 中工作。空格和其他类型的字符也是如此。

查看NSString 上的-stringByAddingPercentEscapes 方法。

【讨论】:

  • 但问题是,获取简单的 URL 字符串。我正在获取整个网站的源代码,如果我对整个网站的源代码进行百分比转义,那么其他部分将再次混乱......为了清楚起见,我使用这一行将内容加载到 UIWebView 中: [myWebView loadRequest:request];
  • 也许您应该在问题中提及这一点?目前的方式意味着 html 位于 iPhone 应用程序中。
猜你喜欢
  • 1970-01-01
  • 2011-06-16
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
相关资源
最近更新 更多