【发布时间】: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 中有 '&'-sign:http://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