2013-08-25 3 views
5

मुझे UIView के भीतर एक छोटा UIWebView मिला है। मैं UView के पृष्ठभूमि रंग को वेब व्यू के लोड किए गए HTML के समान सेट करना चाहता हूं। क्या यह संभव है?UIWebView html से पृष्ठभूमि रंग प्राप्त करना?

मैं webViewDidFinishLoad में की कोशिश की है, इस तरह रंग प्राप्त करने के लिए:

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

.. लेकिन यह कुछ भी वापस नहीं करता है।

+0

क्या आपने इसे किया - (शून्य) webViewDidFinishLoad: (UIWebView *) webView? – BergP

+0

भी आप उस प्रॉपर्टी दस्तावेज़ को आजमा सकते हैं .body.style.backgroundColor – BergP

+0

दोनों चीजों की कोशिश की .. कोई खुशी नहीं – cannyboy

उत्तर

6

केवल तीन चरणों में काम कर कोड ..

1) कॉपी कोड और अपनी परियोजना में पेस्ट करें।
2) xib फ़ाइल में UIWebView पर ___webView आउटलेट कनेक्ट करें।
3) भागो।

- (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 "); 
} 

// उत्पादन ----- है

2013-09-03 11: 56: 33.187 विज्ञापन [3655: 11,303] रंग हरा है
2013-09-03 11 : 56: 33.188 विज्ञापन [3655: 11303] लोड खत्म

+0

@ हायाबुसा उत्कृष्ट उत्तर –

5

एचटीएमएल संसाधन में। मैं

body bgcolor="#FF0000" 

उस मामले में मेरा कोड होना चाहिए।

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

आउटपुट था -

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

अब, एचटीएमएल संसाधन में, मैं

body style="background-color:#FF0000" 

का उपयोग उस मामले मेरी कोड होना चाहिए में।

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

} 

आउटपुट था -

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

आप देख सकते हैं, आप कैसे HTML को bgcolor लागू पर निर्भर करता है, यह भी आप जावा स्क्रिप्ट द्वारा ही पहुंच तरीके को बदलते ....

आशा इससे मदद मिलती है!

संबंधित मुद्दे