2012-12-05 14 views
5

नहीं मिल रहा है मैं मोनोटच पर एक आईफोन ऐप बना रहा हूं। मेरी परियोजना का हिस्सा स्थानीय वेबसाइट सामग्री का उपयोग करें। मैं एक फ़ोल्डर में वेबसाइट के लिए उपयोग किए गए सभी एचटीएमएल, जेएस, सीएसएस और छवियों की प्रतिलिपि बनाता हूं और इसे अपने मोनोटouch प्रोजेक्ट में आयात करता हूं। मैंने इन सभी फ़ाइलों के लिए सामग्री पर बिल्ड विकल्प सेट किया है।मोनोटेच uiwebview स्थानीय एचटीएमएल

मैं नीचे की तरह स्थानीय वेब सामग्री लोड:

this.url = Path.Combine (NSBundle.MainBundle.BundlePath, "सामग्री/index.html"); webView.LoadRequest (नया NSUrlRequest (नया NSUrl (this.url, false)));

समस्या जब मैं परियोजना चलाने के लिए, यह अपने स्थानीय वेबसाइट नहीं मिल सकता है और मैं नीचे जब मैं डिबग करने की कोशिश संदेश मिला:

अनुरोध किया गया URL इस सर्वर पर नहीं मिला था।

/उपयोगकर्ताओं/* ****/लायब्रेरी/एप्लिकेशन समर्थन/iPhone के सिम्युलेटर/4.3/अनुप्रयोग/092E0D85-92F4-4F4E-9CD2-3FBBCD797F76/Project.app/सामग्री/index.html

अजीब बात वेब किसी भी समस्या

मैं परियोजना कई बार स्पष्ट और पुनर्निर्माण करने की कोशिश की है, लेकिन कुछ भी नहीं बदलता है बिना प्रदर्शित किया जाता है, जब मैं सफारी के लिए लिंक की प्रतिलिपि बनाएँ।

किसी को भी इस के साथ मेरी मदद कर सकते हैं?

मैं उपयोग कर रहा हूँ ओएस एक्स Moutain शेर 10.8.2, monodevelop 3.0.5, Monotouch 6.0.6, xcode 4.5.2

अग्रिम

+0

क्या आप ** वास्तव में ** मोनो टच 3.0.2 का उपयोग कर रहे हैं? यह कुछ साल पुराना है और अब आप इसका उपयोग कर किसी भी व्यक्ति को ढूंढने की संभावना नहीं है। वर्तमान (स्थिर) संस्करण 6.0.6 है और हिम तेंदुए के साथ संगत अंतिम संस्करण 5.4 था (एक्सकोड 4.2 का उपयोग करके)। – poupou

+0

गलती टाइप करने के लिए खेद है।मैं मोनो डेवेल 3.0.5 और 5.x मोनोटच का उपयोग करता हूं। मैं ओएस एक्स, एक्सकोड और मोनोटouch समेत पूरी प्रणाली को नवीनतम सिस्टम में अपडेट कर रहा हूं। उम्मीद है कि यह समस्या को हल करेगा। – hoangnm284

+0

मैंने सब कुछ नवीनतम में अपडेट किया है, लेकिन यह अभी भी एक समस्या है। क्या किसी के पास इसका अनुभव हो सकता है? – hoangnm284

उत्तर

2

यह अजीब है धन्यवाद, मेरे लिए अच्छी तरह से काम किया।

ऐसा करें:

var fileName = "Content/index.html"; 
webView.LoadHtmlString (File.ReadAllText (fileName), 
         NSUrl.FromFilename (fileName)); 
0

आपकी मदद के लिए धन्यवाद।

मुझे अभी पता चला है कि मैंने लिंक में पैरामीटर डाले हैं, उदाहरण: index.html? P1 = v1 & p2 = v2, और यह लिंक काम नहीं करता है। अगर मैं उन परम को हटा देता हूं, तो यह बिना किसी समस्या के काम करता है।

मेरे प्रश्न पर जानकारी को याद करने के लिए खेद है।

अब, अगर मैं सामान्य वेबसाइट की तरह नहीं कर सकता, तो मैं अपनी स्थानीय वेबसाइट पर पैरामीटर कैसे पास कर सकता हूं?

+0

यदि आपको अपने प्रश्न में अतिरिक्त जानकारी जोड़ने की आवश्यकता है, तो कृपया इसे संपादित करें। उत्तर के रूप में टिप्पणियां जोड़ना भ्रमित है। – Jason

+0

कहा जा रहा है कि, जब आप क्वेरीस्ट्रिंग पर पैरामीटर पास करते हैं तो आम तौर पर सर्वर (PHP, एएसपी.नेट, रेल, इत्यादि) पर कुछ ऐसा होता है जो उन्हें व्याख्या करता है और HTML के साथ प्रतिक्रिया देता है। जब आप अपने ऐप में स्थानीय HTML पेज का उपयोग करते हैं, तो वे केवल सादे HTML हैं, कोई सर्वर साइड प्रसंस्करण नहीं हो रहा है। – Jason

+0

जावास्क्रिप्ट का उपयोग करके, हम अभी भी जीईटी विधि के लिए पैरामीटर पार्स कर सकते हैं। मैंने कहीं पढ़ा है कि jQuery का उपयोग करके हम पोस्ट के लिए भी पैरा प्राप्त कर सकते हैं लेकिन मैंने इसका परीक्षण नहीं किया है। एमटी के साथ समस्या यह है कि वे पैरामीटर को फ़ाइल नाम के हिस्से के रूप में मानते हैं ताकि वे इसे नहीं ढूंढ सकें। मैंने फ़ाइल पैरामीटर से पैरा को हटाकर मेरी समस्या तय की है, फिर मेरे पैरामीटर पास करने के लिए एमटी निष्पादन जावास्क्रिप्ट फ़ंक्शन का उपयोग कर। आपकी सभी मदद के लिए धन्यवाद। – hoangnm284

0

एचटीएम के लिए बिल्ड एक्शन को बंडल रिसोर्स पर सेट करना सुनिश्चित करें - इस सेटिंग के साथ आपका कोड मेरे लिए काम करता है!

+2

एक टिप्पणी, जो होना चाहिए – MuhammadHani

1

आप नीचे दिखाए गए NSURLComponent का उपयोग कर सकते हैं। पैरामीटर NSURLComponent क्वेरी संपत्ति में पारित किया जा सकता है।

 string viewerPath = Path.Combine(NSBundle.MainBundle.BundlePath, string.Format("Content/pdfjs/web/{0}", _pdfViewerFileName)); 
     string queryString = string.Format("file={0}", _pdfFilePath); 
     NSUrlComponents components = new NSUrlComponents(viewerPath); 
     components.Query = queryString; 
     Control.LoadRequest(new NSUrlRequest(components.Url)); 
संबंधित मुद्दे