मैंने वास्तव में यह कोड लिखा था।
क्रॉस-सबडोमेन / पोर्ट धूमकेतु करने की कोशिश करते समय, iframe document.domainको मूल फ्रेम के समान मूल्य की आवश्यकता होती है । दुर्भाग्य से, ब्राउज़र मूल नाम के लिए डोमेन नाम और पोर्ट को आंतरिक रूप से संग्रहीत करता है document.domain। लेकिन जावास्क्रिप्ट में गेट्टर और सेटर बंदरगाह के बारे में कुछ भी नहीं जानता है। तो समस्या यह है: यदि शीर्ष फ्रेम document.domainहै ('example.com', 80), और निचला फ्रेम है ('comet.example.com', 80), तो आप नीचे के फ्रेम को कैसे प्राप्त ('example.com', 80)करेंगे?
होस्टनाम भाग को बदलते समय आप पोर्ट को सेट करने के लिए जरूरी नहीं nullकर सकते हैं, इसलिए आप जो सबसे अच्छा कर सकते हैं वह ('example.com', null)नीचे के फ्रेम में है। तो शीर्ष फ्रेम को भी उस मूल्य पर सेट करना होगा, और सेटिंग document.domain=document.domainबस यही करता है। यह ब्राउज़र में आंतरिक प्रतिनिधित्व को बदलता ('example.com', 80)है ('example.com', null)और फिर सब कुछ मेल खाता है और क्रॉस-पोर्ट / सबडोमेन फ्रेम संचार काम करता है।