为什么UIWebView出现问题&网址中的字符(想要&)

时间:2010-09-30 14:00:10

标签: iphone uikit uiwebview rendering

我的UIWebView存在问题,我在iPhone应用中使用。 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>

由于嵌入对象的网址中的'&amp;' - sign ,UIWebView拒绝以正确的方式显示视频:http://www.youtube.com/v/SOMEVIDEO&hl=de&fs=1

如果我更换'&amp;'使用'&amp;',所有内容都显示在UIWebView中。同样的问题不仅发生在嵌入式视频中,也发生在常规URL上。奇怪的是,Safari-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];

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

1 个答案:

答案 0 :(得分:2)

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

-stringByAddingPercentEscapes上查看NSString方法。