У меня проблема с 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>
UIWebView отказывается правильно отображать видео из-за знака '&' - в URL-адресе внедренного объекта: http://www.youtube.com/v/SOMEVIDEO&hl=de&fs=1
Если я заменю «&» на «&», все будет выглядеть так, как должно быть в 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];
Вот почему невозможно использовать метод -stringByAddingPercentEscapes в NSString, как предложил Jasarien. Это касается всего источника, а не отдельных URL.