2015-01-02 2 views
0

я инициализировать UIWebView следующим образом:UIWebView: получить содержимое тега <BODY>

NSString *msg = <HTML><BODY bgcolor=\"#504a4b\" style=\"font-family:Verdana; font-size:20\" > <B> No Messages"; 
[webviewMessageLog loadHTMLString:msg baseURL:NULL]; 

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

-(void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSString *oldHTML = [webviewMessageLog stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; 
    NSLog(@"%@", oldHTML); 

это возвращает HTML, начиная после тега, как, например:

<b> No Messages</b> 

Мой вопрос:, что JavaScript Object мне нужно прочитать, чтобы увидеть параметры, установленные в теге BODY? Как я могу увидеть элементы семейства шрифтов и bgcolor, которые были установлены ранее? Я хочу сохранить любое форматирование в другом месте, и я надеюсь только что прочитать предыдущий тег BODY и избежать дополнительного кода для переоценки того, что должен включать тег BODY.

Спасибо!

ответ

0

Если вы хотите, чтобы получить атрибут bgcolor, вы можете использовать:

NSString *bgColor = [webviewMessageLog stringByEvaluatingJavaScriptFromString:@"document.body.getAttribute("bgcolor")"]; 
NSLog(@"%@", bgColor); 

Похожие, как вы можете получить доступ к другим атрибуты тоже.

+0

Спасибо! Поэтому мне придется запрашивать каждый потенциальный элемент, так как я не обязательно буду знать, что было бы установлено? Невозможно просто вытащить все содержимое тега тела в NSString? – Thunk

+0

@Thunk: проверьте это: http://stackoverflow.com/questions/2048720/get-all-attributes-from-a-html-element-with-javascript-jquery –

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