2015-06-01 5 views
0

Я пытаюсь поместить некоторый HTML в div в UIWebView. Хотя код кажется правильным, он не будет работать.UIWebView не может вводить HTML

Это работает:

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById(\"testdiv\").innerHTML = \"Test text here\""]]; 

Это не:

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById(\"testdiv\").innerHTML = \"%@\"", htmlString]]; 

Во втором случае 'HTMLString' только некоторые HTML в BLOCKQUOTE.

В основном, когда я делаю это с HTML, он терпит неудачу. Сначала я подумал, что HTML может быть недействительным, но я думал, что он все равно попытается отобразить его.

«Ошибка». Я получаю в результате операции только пустую строку (non-nil).

Любые идеи?

Edit:

Вот пример HTML, который не будет отображаться:

<div style="padding-bottom: 20px;"></div><div><html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content= 
"text/html charset=us-ascii" /> 
<title></title> 
</head> 
<body style= 
"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" 
class=""> 
TestTESTEST<br class="" /> 
<div apple-content-edited="true" class=""> 
<div style= 
"color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" 
class=""> 
<div class="" style="font-size: 10px;"><br class="" /></div> 
</div> 
</div> 
</body> 
</html> 
</div> 

Переменная HTMLString только что HTML в BLOCKQUOTE тега.

Edit 2:

Если я беру HTML и поместить его непосредственно в документе, а затем загрузить его это работает. У меня возникают проблемы, когда я пытаюсь вставить его через JS.

+0

У меня есть только одно представление об этом: вы предоставляете неверный Html. Поэтому удалите все символы новой строки и проверьте наличие закрытых тегов. – sage444

+0

Может быть, ваши данные заканчиваются между экранированными символами ?, Можете ли вы проверить с помощью 'NSLog'? – iphonic

+0

также проверьте свои данные в консоли отладки браузера – sage444

ответ

0

Временное решение:

Как HTML документа я хочу вставить это просто шаблон Я копирую его в код и просто строить всю строку и загрузить его в UIWebView:

например NSString *s = @"<html><body><div1></div1><div2>%@</div2></body></html>", contentToInsert.

В идеале я все же хочу, чтобы эта работа работала так, как будто я могу вставить HTML через JS. Я могу использовать несколько шаблонов HTML и просто вставлять содержимое в них по мере необходимости. Поэтому, если вы можете найти решение, пожалуйста, дайте мне знать.

Смежные вопросы