2013-02-27 153 views
5

मैं एक आइफ्रेम मैं कोई नियंत्रण नहीं है कि, और कुछ मामलों में वे लिंक है कि जावास्क्रिप्ट कॉल के अंदर एक तीसरी पार्टी HTML सामग्री चला रहा हूँ के अंदर: window.close () सीधे। कुछ इस तरह:पकड़ने जावास्क्रिप्ट: window.close() एक iframe

<input type="button" onclick="javascript:window.close()" value ="CLOSE"> 

मेरे पास इस तत्व की आईडी या सरणी स्थिति खोजने का कोई तरीका नहीं है।

स्वाभाविक रूप से, इसे आईफ्रेम के अंदर नजरअंदाज कर दिया जाता है, लेकिन इस घटना को निकाल दिया जाने पर पकड़ने का कोई तरीका है? मैंने कोशिश की

window.addEventListener("close", closeHandler, false); 
window.addEventListener("onbeforeunload", closeHandler, false); 

लेकिन यह पूरी तरह से इसे अनदेखा करता है। क्या किसी भी तरह से सभी जावास्क्रिप्ट घटनाओं/कॉलों को पकड़ने का कोई तरीका है? किसी भी सिफारिश का स्वागत है।

उत्तर

0

जहाँ तक मुझे पता है, आपको फ्रेम के अंदर ईवेंट कैप्चर करने की आवश्यकता है। यदि आप फ्रेम सामग्री को संशोधित नहीं कर सकते हैं तो आप भाग्य से बाहर हो सकते हैं। अगर आप आईफ्रेम सामग्री को संशोधित कर सकते हैं तो आप उस ईवेंट श्रोता को उसमें जोड़ सकते हैं और इसे पैरेंट विंडो के वैश्विक फ़ंक्शन पर कॉल कर सकते हैं। या आप पोस्ट मैसेज का उपयोग करने का प्रयास कर सकते हैं।

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

  • कोई संबंधित समस्या नहीं^_^