2010-09-30 1 views
2

У меня проблема с UIWebView, которую я использую в своем приложении для iPhone. Исходный код, показанный в UIWebView, содержит следующую разметку, кроме многих других вещей:Почему у UIWebView возникают проблемы с & символами в URL (требуется &)

<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-приложение правильно отображает тот же сайт, но не 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. 

Update для ясности:

Я использую этот запрос для загрузки содержание:

[myWebView loadRequest:request]; 

Вот почему это не представляется возможным использовать метод -stringByAddingPercentEscapes на NSString, как Jasarien предложить редактор Это касается всего источника, а не отдельных URL-адресов.

+0

Вы смогли решить эту проблему? Я тоже это переживаю. – Gady

ответ

2

Это потому, что амперсанды должны быть закодированы в URL для работы в URL-адресах. То же самое касается пробелов и других типов символов.

Ознакомьтесь с методом -stringByAddingPercentEscapes на NSString.

+0

Но проблема в том, чтобы получить простую строку URL. Я получаю исходный код всего веб-сайта, и если у меня есть процентный код на весь исходный код веб-сайта, то другие части снова будут беспорядочны ... Чтобы быть ясным, я использую эту строку для загрузки содержимого в UIWebView: [myWebView loadRequest: request]; – nodepond

+0

Возможно, вы должны упомянуть об этом в своем вопросе? То, как он в настоящее время подразумевает, что html находится в приложении iPhone. – Jasarien