क्या म्यूटेक्स (जावास्क्रिप्ट में) साझा करने के लिए ब्राउज़र में दो टैब के लिए कोई तरीका है?म्यूटेक्स लॉक (जेएस) ब्राउज़र के कई टैब के बीच साझा किया गया?
मैं node.js & सॉकेट.io का उपयोग कर वेब-ऐप पर काम कर रहा हूं, और मैं चाहता हूं कि विभिन्न टैब सर्वर के साथ एक कनेक्शन साझा करें। तथाकथित 'नेता' टैब एकमात्र ऐसा है जो कनेक्शन को बनाए रखता है, जबकि बाकी के संदेशों को सभी इस के माध्यम से रिले किया जाता है। अभी, मैं नेता चुनने के लिए एक नेता चुनाव एल्गोरिदम का उपयोग कर रहा हूं, लेकिन अगर कोई एक नया नेता फिर से चुनने के लिए दूसरा या दो लेता है, तो वर्तमान में कोई नीचे चला जाता है, मुझे आश्चर्य है कि क्या करने के लिए एक बेहतर तरीका है वही।
यह की तरह नहीं है विभिन्न टैब पूरी तरह से से एक-दूसरे ... localStorage पृथक कर रहे हैं: बाहर की जाँच करें सूचना साझा करने का मुख्य उदाहरण उनके बीच टयन। इसलिए यदि वे इसे अनुमति देने जा रहे हैं, तो संचार और साझा करने के लिए उचित चैनल बनाना बेहतर नहीं होगा (बेशक, सभी एक ही डोमेन नीति के अधीन)। एक एक्सटेंशन/एडन के लिए, मैंने सोचा था कि यह विचार करें, लेकिन मैं एक और ब्राउज़र स्वतंत्र समाधान चाहता था। –
हाँ। मैं उसके बारे में भूल गया था। आप https://developer.mozilla.org/en-US/docs/DOM/window.postMessage में देख सकते हैं। लेकिन आपको अभी भी एक और विंडो के संदर्भ को पारित करने की आवश्यकता होगी; –
मैं पहले इस पृष्ठ से गुजर चुका हूं। इसके साथ * प्रमुख * समस्या यह है कि आपको उस विंडो के संदर्भ की आवश्यकता है जिसमें आप संदेश भेजना चाहते हैं। मेरे पास यह नहीं हो सकता है। यही वह जगह है जहां स्थानीय स्टोरेज की 'स्टोरेज' घटना जीत जाती है, क्योंकि यह उसी उत्पत्ति के सभी टैबों पर ट्रिगर होती है, भले ही वे कैसे खोले गए हों। –