2013-05-20 9 views
5

पर क्लिक करें मेरे पास एक वेब व्यू है जहां मैं कुछ सामग्री लोड करने वाला जावास्क्रिप्ट लोड कर रहा हूं। वह सामग्री आईफ्रेम के साथ एक एचटीएमएल है।वेबव्यू पता लगाने के लिए iframe

ऐसा लगता है कि iframe के भीतर कोई भी क्लिक WebViewClient#shouldOverrideUrlLoading(WebView view, String url); पर कॉल ट्रिगर नहीं कर रहा है। वेबव्यू ने WebViewClient और WebChromeClient दोनों सेट किए हैं।

एक काम के आसपास मैं देख सकते हैं WebView पर getSettings().setSupportMultipleWindows(true) और कॉल करने के लिए है तो onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) भीतर मान कॉल iframe के भीतर बने होते हैं और क्रम में कुछ डाला जावास्क्रिप्ट का उपयोग आइफ्रेम डेटा प्राप्त करने गया था। लेकिन यह मेरे लिए बदसूरत लगता है।

तो, प्रश्न: वेबव्यू के भीतर लोड किए गए आईफ़्रेम के भीतर आप एक क्लिक का पता कैसे लगाते हैं?

धन्यवाद!

उत्तर

4

मुझे लगता है कि मुझे पता चला है कि समस्या क्या है: मैंने Same Origin Policy तोड़ दिया। एक सहयोगी जो वेब विकास कर रहा है मुझे सही दिशा में इंगित करता है।

पूरे दस्तावेज़ (आईफ्रेम युक्त) में आईफ्रेम युक्त एक अलग मूल (योजना का नाम, होस्ट नाम और पोर्ट नंबर) है। जब तक कि उन फ्रेम (दस्तावेज़ और आंतरिक आइफ्रेम युक्त) की उत्पत्ति अलग-अलग होती है, वे संवाद नहीं कर सकते हैं। यही कारण है कि मुझे shouldOverrideUrlLoading पर कॉल नहीं मिल रही है।

संपादित: ऐसा लगता है वहाँ सुरक्षा नीति ऊपर overpass के लिए एक रास्ता है, लेकिन यह स्वीकार किए जाते हैं सुरक्षा जोखिम के साथ आता है: "पहुंच-नियंत्रण-अनुमति दें-मूल: प्रतिक्रिया है कि आइफ्रेम शामिल में निम्नलिखित शीर्षलेख जोड़ें: * "

+0

@ गुन्नर अब वीडियो चलाने के लिए संभव है, मुझे कुछ जवाबों की गंभीर आवश्यकता है, मुझे कई मिलते हैं लेकिन मेरे परिदृश्य में फिट नहीं हो सकते हैं। –

+0

@NitinMisra: आप जिस समस्या का सामना कर रहे हैं? आप StackOverflow पर एक नया प्रश्न क्यों नहीं बनाते, इसके यूआरएल के साथ एक नई टिप्पणी भेजी। इस तरह से मैं आपके प्रश्न को समझ सकता हूं और आपके पास एक बड़ा मौका भी है कि कोई और जवाब जान सके। – gunar

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