2009-12-02 16 views
6

मेरे पास मूल ब्राउज़र विंडो पी है। एक बटन पर क्लिक करने पर एक नई ब्राउज़र विंडो WIN-A खोला जाता है। फिर उसी बटन को दबाकर उसे WIN-A विंडो का शीर्षक पढ़ना चाहिए और WIN-Bदो ब्राउज़र विंडोज़ के बीच संवाद कैसे करें?

जावास्क्रिप्ट का उपयोग करके इसे कैसे प्राप्त किया जाए?

अग्रिम धन्यवाद

उत्तर

3

ऐसा ही एक सवाल अभी हाल ही में पूछा गया था:

स्टैक ओवरफ़्लो प्रश्न: Quickest way to pass data to a popup window I created using window.open()?

का उपयोग करना है कि एक आधार (और प्रदान की जनक और विन-ए के रूप में ही डोमेन में हैं):

// Put outside click handler 
var winA = null; 

// Put inside click handler 

if(!winA){ 
    // Store the return of the `open` command in a variable 
    var winA = window.open('http://www.mydomain.com/page1'); 
} else { 
    var title = winA.document.title; 
    // Do something with title 
    var winB = window.open('http://www.mydomain.com/page2'); 
} 
4

को देखते हुए:

var myWindow = open("foo.bar"); 

पुरानी विधि: खिड़की वस्तु की name संपत्ति बदलें:

myWindow.name = "..."; 
// in foo.bar: 
setInterval(someFunctionToCheckForChangesInName, 100); 

एचटीएमएल 5 विधि: कॉल खिड़की वस्तु की postMessage विधि:

myWindow.postMessage("...", "*"); 
// in foo.bar: 
(window.addEventListener || window.attachEvent)(
    (window.attachEvent && "on" || "") + "message", function (evt) { 
    var data = evt.data; // this is the data sent to the window 
    // do stuff with data 
    }, 
false); 
+2

मैं (possibly_present_func_one || possibly_present_func_two) कभी नहीं देखा था (args, args); पहले तकनीक ठंडा। –

+0

ट्रेवर: '.call (the_object_that_is_supposed_to_be_the_parent, args) का उपयोग करना न भूलें, अगर यह' विंडो' की संपत्ति नहीं है। –

+0

फैंसी असाइनमेंट्स और शॉर्टेंड ऑपरेशंस का उपयोग करना अच्छा है, लेकिन एसओ जैसे पेज के लिए जहां मुख्य फोकस ज्ञान साझा करना है, यह सबसे अच्छा तरीका नहीं है। लोग जेएस के साथ सहज नहीं हैं "||" - या असाइनमेंट को लगता है कि यह गूढ़ और अनजान दिखता है। –

0

जब आप window.open फोन, यह करने के लिए एक संदर्भ रिटर्न नई खुली खिड़की आप संदर्भों को उन सरणी में संग्रहीत कर सकते हैं जिन्हें आप किसी सरणी में खोलते हैं, और उसके बाद उस सरणी को फिर से भरें जब आपको एक और नई विंडो खोलने की आवश्यकता होती है।

गेब्रियल

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