2016-10-19 13 views
5

के साथ इंटरसेप्ट अनुरोध अब मैं UIWebView का उपयोग कर रहा हूं और NSURLProtocol के canInitWithRequest: के साथ मैं सभी अनुरोधों को रोक सकता हूं और जो चाहता हूं उसके साथ कर सकता हूं।WKWebView

नए WKWebView में यह विधि नहीं है, और मुझे कुछ समान नहीं मिला है।

क्या किसी ने इस समस्या का समाधान किया है?

+1

नहीं 'WKWebView' इसका समर्थन नहीं करता है। यह अजीब है हालांकि उन्होंने स्मृति में सुधार किया और कॉल को रोकने के विकल्प नहीं दिए। –

+1

यदि यह आसान है तो आप यहां देख सकते हैं http://stackoverflow.com/questions/24208229/wkwebview-and-nsurlprotocol-not-working। –

+0

आईओएस 11 में आप अपने वेब व्यू कॉन्फ़िगरेशन (https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/2875766-seturlschemehandler?language=objc) में स्कीम हैंडलर जोड़ सकते हैं। आईओएस 10 और उससे पहले में इंटरसेप्टिंग अनुरोध अधिक जटिल है। आपको अपने डिवाइस पर एक कस्टम HTTP सर्वर का उपयोग करना चाहिए। – clemens

उत्तर

0

मैं अंधाधुंध अनुमान लगा रहा हूं क्योंकि मेरे पास केवल मेरे विंडोज़ कंप्यूटर हैं। यहां ऐप्पल डेवलपर दस्तावेज़ों को पढ़कर मैं एकत्र की गई जानकारी है जो प्रश्न को हल करने के तरीके पर कुछ विचारों का कारण बन सकती है।

पर WKWebView आधार पर,

वेब सामग्री की लोडिंग को ट्रैक करने के लिए एक वस्तु WKUIDelegate प्रोटोकॉल के अनुरूप करने के लिए प्रतिनिधि संपत्ति सेट करें।

इसके अलावा, मैं देख रहा हूँ हम साथ हमारे navigationDelegate सेट कर सकते हैं,

weak var navigationDelegate: WKNavigationDelegate? { get set }

आपको लगता है कि को स्वीकार करने की एक वेब दृश्य के प्रक्रिया के दौरान ट्रिगर कर रहे हैं कस्टम व्यवहार को लागू WKNavigationDelegate प्रोटोकॉल मदद के तरीके नेविगेशन अनुरोध को लोड करना और पूरा करना।

तो हम बना सकते हैं और हमारे कस्टम WKNavigationDelegate सेट करने के बाद, हम कुछ तरीकों कुछ हम की तलाश में हो सकता है अवरोधन करने को ओवरराइड करेगी। मुझे कुछ ब्याज के Responding to Server Actions अनुभाग मिले क्योंकि उन्हें पैरामीटर के रूप में WKNavigation प्राप्त हुआ। इसके अलावा, आप WKNavigationAction और WKNavigationResponse के माध्यम से स्किम करना चाहते हैं कि शायद ऐसा कुछ है जो हमारे लक्ष्य को प्राप्त करने में हमारी सहायता कर सकता है।

बीटीडब्ल्यू, मैं बस कुछ विचार दे रहा हूं कि हम इस प्रश्न को हल कर सकें, विचार जो 100% गलत हो सकता है क्योंकि मैंने उन्हें स्वयं नहीं किया है।

+1

नेविगेशन प्रतिनिधि AJAX अनुरोधों या exmaple के लिए छवि डाउनलोड पर आग नहीं डालते हैं। –

1

आईओएस 11 में डब्ल्यूकेवेब व्यू कस्टम स्कीम हैंडलर के साथ आया है जिसे WKURLSchemeHandler कहा जाता है, जिसे आप कस्टम ईवेंट को रोकने के लिए उपयोग कर सकते हैं। अधिक जानकारी के लिए इस परियोजना को देखें। https://github.com/BKRApps/KRWebView

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