2012-06-01 9 views
5

सवाल अजीब लगता है, लेकिन यह मेरा मामला है।जावास्क्रिप्ट का उपयोग कर UIWebView बंद करें: window.close();

मेरे पास UIWebView है UIView ([self.view addSubview:webView]; द्वारा किया गया) जो पूर्ण स्क्रीन पर है। UIWebView एक्शन javascript:window.close(); पर क्लिक से पहले जानबूझकर UIView छुपाता है।

मैं जावास्क्रिप्ट को UIWebView पृष्ठ UIView की क्रिया में कैसे जोड़ूं, उदाहरण के लिए [webView removeFromSuperView];? ,

यूआरएल में अपनी खुद की योजना के साथ कुछ करने के लिए स्थान निर्धारित करें यानी

document.location.href = "myscheme: // DoSomething"

उत्तर

7

यह संभव है

इस कारण होगा UIWebViewDelegate विधि shouldStartLoadWithRequest: NSRLRequest पैरामीटर के साथ बुलाया जाना चाहिए जिसका योजना "myscheme" है। तो आप इस योजना की तलाश करते हैं और DoSomething निकालें और फिर DoSomething पर कार्य करें, जो आपके मामले में superView से निकालना होगा।

(UIWebView dealloc में शायद यह सुनिश्चित करने की आवश्यकता है कि आप स्टॉपलोडिंग को कॉल करें)

+0

लगता है कि यह काम करेगा। मुझे एक परीक्षण करने दें और आप लोगों को वापस आएं। – Raptor

+1

सफलता! वास्तव में यूआरएल योजना का उपयोग करने की कोई ज़रूरत नहीं है। बस यूआरएल में एक पैटर्न बनाएं, फिर 'muststartLoadWithRequest:' द्वारा '[NSURL पथ]' में पैटर्न पढ़ें। विभिन्न तर्क के साथ पैटर्न को संभालें (आप क्वेरी स्ट्रिंग के साथ वेरिएबल्स भी पास कर सकते हैं (कोज़, POST मानों को पढ़ा नहीं जा सकता है)। – Raptor

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