2013-08-25 35 views
5

UIView içinde daha küçük bir UIWebView var. UIView'in arka plan rengini webView’in yüklü HTML’si ile aynı olacak şekilde ayarlamak istiyorum. Mümkün mü?UIWebView html'den arka plan rengi mi alıyorsunuz?

NSLog(@"color: %@", [webView stringByEvaluatingJavaScriptFromString: @"document.body.style.background"]); 

.. ama bir şey dönmez:

böyle renk elde etmek için, webViewDidFinishLoad yılında, denedim. HTML kaynağında

+0

yükünü bitirdi mi? - (void) webViewDidFinishLoad: (UIWebView *) webView? – BergP

+0

Ayrıca bu belge document.body.style.backgroundColor – BergP

+0

her iki şeyi denedim de deneyebilirsiniz .. no joy – cannyboy

cevap

6

çalışma sadece üç adımda kod ..

1) Kopya kodu ve projenize yapıştırın.
2) _webView çıkışını xib dosyasındaki UIWebView'a bağlayın.
3) Çalıştır. 56::

- (void)viewDidLoad 
{ 
    [___webView loadHTMLString:[NSString stringWithFormat:@"<html><body id=\"mybody\" style=\"background-color:green;width:100px;height:100px;\"><b>Hello buddy</b></body></html>"] baseURL:nil]; 
    ___webView.delegate=self; 

    [super viewDidLoad]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSString *javaScript = @"document.body.style.background"; 
    NSLog(@"color is %@",[webView stringByEvaluatingJavaScriptFromString:javaScript]); 
    NSLog(@"did load finish "); 
} 

// çıktı -----

2013-09-03 11 olan 33,187 adet [3655: 11303] renk yeşildir
2013-09-03 11 : 56: 33.188 adet [3655: 11303],

+0

@HayaBusa mükemmel yanıtı –

5

. Ben bu kodumda

kullanın.

- (void)webViewDidFinishLoad:(UIWebView *)webView{ 
NSLog(@"Done loading"); 
NSLog(@"color1: %@", [webView stringByEvaluatingJavaScriptFromString:  @"document.body.bgColor"]); 
} 

Çıktı oldu -

2013-09-02 16:47:53.986 WebViewTest[14674:707] color1: #FF0000 

Şimdi, HTML kaynak olarak, benim kodu olmalıdır Bu durumda

body style="background-color:#FF0000" 

kullanın.

- (void)webViewDidFinishLoad:(UIWebView *)webView{ 
NSLog(@"Done loading"); 
    NSLog(@"color1: %@", [webView stringByEvaluatingJavaScriptFromString: @"document.body.style.backgroundColor"]); 

} 

Çıktı oldu -

2013-09-02 16:55:11.531 WebViewTest[14691:707] color1: rgb(255, 0, 0) 

Gördüğünüz gibi, HTML bgcolor nasıl uygulanacağı bağlı olarak ayrıca java komut dizisi ile erişmek şeklini değiştirir ....

Umut Bu yardımcı olur!