मैं एक तरीका खोज रहा था कि कैसे एक ही डोमेन (एक ही डोमेन पर, कॉर्स नहीं) में कई टैब या विंडो के बीच संवाद स्थापित किया जा सके। कई समाधान थे:
पहला शायद सबसे खराब समाधान है - आपको अपनी वर्तमान विंडो से एक खिड़की खोलने की आवश्यकता है और तब तक आप केवल तब तक संवाद कर सकते हैं जब तक आप खिड़कियां खुली रखते हैं। यदि आप किसी भी विंडो में पृष्ठ को पुनः लोड करते हैं, तो आप सबसे अधिक संभावना संचार खो देते हैं।
दूसरा दृष्टिकोण, पोस्टमैसेज का उपयोग करते हुए, शायद क्रॉस-ऑरिजिन संचार को सक्षम करता है, लेकिन पहले दृष्टिकोण के समान समस्या को ग्रस्त करता है। आपको एक विंडो ऑब्जेक्ट बनाए रखने की आवश्यकता है।
तीसरा तरीका, कुकीज़ का उपयोग करते हुए, ब्राउज़र में कुछ डेटा स्टोर करें, जो प्रभावी रूप से एक ही डोमेन पर सभी विंडोज़ पर एक संदेश भेजने की तरह दिख सकता है, लेकिन समस्या यह है कि आप कभी भी नहीं जान सकते हैं कि सभी टैब "संदेश" पहले से ही पढ़ते हैं या नहीं सफाई करना। आपको समय-समय पर कुकी को पढ़ने के लिए किसी प्रकार का टाइमआउट लागू करना होगा। इसके अलावा आप अधिकतम कुकी लंबाई तक सीमित हैं, जो 4KB है।
चौथा समाधान, लोकलस्टोरेज का उपयोग करते हुए, कुकीज़ की सीमाओं को दूर करने के लिए लग रहा था, और यह सुनने की घटनाओं का उपयोग करने के लिए भी हो सकता है। इसका उपयोग कैसे किया जाता है इसका उत्तर स्वीकृत उत्तर में दिया गया है।
संपादित करें 2018: स्वीकृत उत्तर अभी भी काम करता है, लेकिन ब्रॉडकास्टनेल का उपयोग करने के लिए आधुनिक ब्राउज़रों के लिए एक नया समाधान है। ब्रॉडकास्टनेल का उपयोग करके टैब के बीच संदेश को आसानी से प्रसारित करने का वर्णन करने वाले एक सरल उदाहरण के लिए अन्य उत्तर देखें।