मेरे पास एक वेबकिट वेबव्यू का उपयोग कर एक एप्लीकेशन है और मैं इस वेबव्यू में एक अलग HTTP यूआरएल के लिए कस्टम यूआरएल प्रोटोकॉल के साथ यूआरएल को मैप करना चाहता हूं। उदाहरण के लिए, कहते हैं कि मैं लोड हो रहा हूँ:HTTP पर कस्टम यूआरएल प्रोटोकॉल (NSURLProtocol का उपयोग कर?)
कस्टम: // path/to/संसाधन
मैं आंतरिक रूप से वास्तव में लोड करना चाहते हैं:
http://something-else.com/path/to/resource
दूसरे शब्दों में, कस्टम प्रोटोकॉल में कार्य करता है लगभग एक शॉर्टेंड के रूप में। मैं हालांकि -webView का उपयोग नहीं कर सकता: संसाधन: willSendRequest: redirectResponse :डेटा स्रोत से: क्योंकि मैं चाहता हूं कि वेबकिट वास्तव में विश्वास करे कि यह प्रश्न में यूआरएल है, न केवल एक से दूसरे को रीडायरेक्ट करना है।
अब तक मैं एक कस्टम NSURLProtocol subclass का उपयोग करने का प्रयास कर रहा हूं। हालांकि, यह पहली बार सोचने की तुलना में अधिक कठिन साबित हो रहा है क्योंकि, कम से कम मेरी समझ के लिए, मुझे NSRLProtocol subclass 'startLoading विधि में वास्तविक लोडिंग करना होगा। मैं मौजूदा HTTP प्रोटोकॉल लोडर को काम को बंद करने का एक तरीका चाहता हूं, लेकिन मुझे ऐसा करने का कोई आसान तरीका नहीं मिल रहा है।
क्या किसी के पास इस मुद्दे को हल करने के लिए कोई सुझाव है, या शायद एक वैकल्पिक तरीका है?
धन्यवाद!
क्या इसका वेबपृष्ठ को कस्टम प्रोटोकॉल यूआरएल पर विचार करने का असर पड़ता है? अगर मैं उस ब्लॉक से बस एक नया यूआरएल लोड करता हूं, तो मुझे लगता है कि मैं पहले जैसा ही स्थिति में रहूंगा: प्रभावी ढंग से रीडायरेक्ट बनाना। लेकिन शायद मैं उस फैशन को गलत समझ रहा हूं जिसमें मुझे वहां से एक नया यूआरएल लोड करना है। –
"क्या इसका वेबवर्क को कस्टम प्रोटोकॉल यूआरएल पर सोचने का असर पड़ता है?" नहीं, निश्चित रूप से नहीं। यदि आपका लक्ष्य href.location को एक चीज़ पर सेट करना और दूसरे लोड करना है, तो यह समाधान आपको वहां नहीं ले जाएगा। माफ़ कीजिये। इस मामले में, जब कस्टम योजना का पता चला है, तब भी यह मारे गए - तो location.href कभी नहीं बदलता है। "प्रभावी रूप से एक रीडायरेक्ट बनाना" यह रीडायरेक्ट जैसा नहीं है। रीडायरेक्ट में पहला यूआरएल लोड किया जाता है, हैंडल इत्यादि। फिर अगला यूआरएल लोड हो जाता है। नीति प्रतिनिधि का उपयोग करना और [श्रोता अनदेखा] को कॉल करना पूरी तरह से पहले यूआरएल लोड को मारता है। – isaiah