2011-11-02 18 views
6

में काम नहीं कर रहा है मुझे UIWebView के साथ कोई समस्या है। मैं UIWebView में अपना खुद का एचटीएमएल कोड प्रस्तुत करना चाहता हूं।loadHTMLString baseURL: आईओएस 5

यदि मैं नीचे दिए गए कोड का उपयोग करता हूं, तो यह ठीक काम कर रहा है।

NSBundle *thisBundle = [NSBundle mainBundle]; 
    NSString *path = [thisBundle pathForResource:@"foo" ofType:@"html"]; 
    NSURL *baseURL = [NSURL fileURLWithPath:path]; 
    [self.webView loadHTMLString:@"foo.html" baseURL:baseURL]; 

मैं नीचे दिए गए कोड के साथ एचटीएमएल प्रस्तुत करना चाहता हूं। लेकिन यह काम नहीं कर रहा है। foo.html में NSString * एक के साथ बिल्कुल वही सामग्री होती है। कोई संकेत? अग्रिम में धन्यवाद।

NSString* htmlContent = @"<html><head><title></title></head><body><img src='image.jpg' /></body></html>"; 
[self.webView loadHTMLString:htmlContent baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 

बू सुनिश्चित करें कि image.jpg अपने प्रोजेक्ट में शामिल किया गया है: =)

NSString* one = @"<html><head><title></title></head><body><img src=\"image.jpg\"/></body></html>"; 
    [self.webView loadHTMLString:one baseURL:nil] ; 

उत्तर

23

मैं इस कोड है कि पूरी तरह से काम करता है का उपयोग करें।

+0

हाय, मैं स्थानीय HTML फ़ाइल नहीं पढ़ना चाहता हूं। मैं इस तरह सीधे उपयोग करना चाहता हूँ। NSString * एक = @ ""; – moon

+0

@moon: हाँ, क्षमा करें, बस अपने एचटीएमएल के साथ htmlContent को प्रतिस्थापित करें। यह कोड लिखते समय मैंने किया था। मैं अपना जवाब संपादित करता हूं। – Oliver

+0

हाय ओलिवर, हाँ, यह काम कर रहा है। बहुत बहुत धन्यवाद। :) – moon

1

जे एस फ़ाइल बनाने demo.js और कोड जोड़ने

var hello = function(str){       return str; };

जोड़ने UIWebView => एक डमी html फ़ाइल में जावास्क्रिप्ट एम्बेड और लोड कि UIWebView

[self.webView loadHTMLString:@"<script src=\"demo.js\"></script>"               baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];

में करने के लिए

जेएस कॉल

बनाने के लिए कोड यहां दिया गया है

अब, यह वास्तव में काम करने के लिए एक महत्वपूर्ण सुरक्षा युक्ति है: UIWebView वास्तव में एक दृश्य लोड किया जाना चाहिए। इसे दृश्यमान होने की आवश्यकता नहीं है, लेकिन वेबकिट इंजन को जेएस निष्पादित करने के लिए, यह एक दृश्य पर होना चाहिए।