2012-12-20 14 views
6

मैं पैरेंट विंडो से एक बाल विंडो खोलने के लिए window.open का उपयोग कर रहा हूं। मैं चाहता हूं कि बाल खिड़की शीर्ष पर रहें ताकि उपयोगकर्ता मूल विंडो में प्रवेश करते समय इसका उल्लेख कर सके। क्या यह किया जा सकता है? मैं इस समय फ़ायरफ़ॉक्स का उपयोग कर रहा हूं, लेकिन यह एक बोनस होगा यदि यह सभी ब्राउज़रों में काम करता है।बाल खिड़की को शीर्ष पर कैसे बनाए रखें?

+0

आप नई विंडो पर ध्यान केंद्रित कर सकते हैं, लेकिन फिर आप मूल विंडो में कुछ भी टाइप या करने में सक्षम नहीं होंगे। –

+3

एक नई विंडो खोलने के बजाय [popup div] (http://jqueryui.com/dialog/#default) का उपयोग करने के बारे में कैसे? – 3dgoo

+1

विंडोज़ के साथ यह सबसे अच्छा है: पॉपअप डिव विचार के लिए http://jsfiddle.net/DerekL/WFsyY/ –

उत्तर

1

कैसे खोलने के बजाय एक popup div उपयोग के बारे में एक नई खिड़की?

+1

बूम! बिल्कुल सही किया। –

+2

इसके साथ समस्या यह है कि आप मूल विंडो के बाहर एक HTML पॉपअप नहीं ले जा सकते हैं। – UrbKr

1

यह पॉपअप परत भी अच्छी है: DOMWindowDemo

+0

http://stackoverflow.com/questions/how-to-answer –

+0

मैं इसे +1 करने जा रहा हूं क्योंकि मुझे पता है कि यह किसी दिन काम में आएगा, भले ही उनमें से कोई भी इस कार्य के लिए मेरे मन में नहीं था। –

0

हाँ आप इस कोड को आप चाइल्ड विंडो के लिए onBlur = "self.focus()" शरीर में देना है ऐसा कर सकते हैं

//Parent page... 
    <html> 
     <body> 
     <a href="#" onClick="window.open('two.html','sdvwsv','width=200,height=200');">here...</a> 
     </body> 
    </html> 


    //Child page... 
     <html> 
      <body onBlur="self.focus();"> 
       here... 
       </body> 
      </html> 
+0

यह काम नहीं कर रहा है जैसा कि मैं उम्मीद कर रहा था, जब मैं पैरेंट विंडो पर वापस क्लिक करता हूं, तो बच्चा विंडो गुम हो जाती है। –

+0

यहां समस्या बच्चे से माता-पिता को सामग्री लिखना है, इसलिए यह पर्याप्त है और जब कोई माता-पिता नहीं होता है तो कोई बच्चा मौजूद नहीं होता है। –

0
<html> 
    <script language="JavaScript"> 
    <!-- 
    function openWin(){ 
     var myBars = 'directories=no,location=no,menubar=no,status=no'; 

     myBars += ',titlebar=no,toolbar=no'; 
     var myOptions = 'scrollbars=no,width=400,height=200,resizeable=no,top=10, left=10,'; 
     var myFeatures = myBars + ',' + myOptions; 
     var myReadme = 'This is a test.' 

     var newWin = open('', 'myDoc', myFeatures); 

     newWin.document.writeln('<form>'); 
     newWin.document.writeln('<table>'); 
     newWin.document.writeln('<tr valign=TOP><td>'); 
     newWin.document.writeln('<textarea cols=45 rows=7 wrap=SOFT>'); 
     newWin.document.writeln(myReadme + '</textarea>'); 
     newWin.document.writeln('</td></tr>'); 
     newWin.document.writeln('<tr><td>'); 
     newWin.document.writeln('<input type=BUTTON value="Close"'); 
     newWin.document.writeln(' onClick="window.close()">'); 
     newWin.document.writeln('</td></tr>'); 
     newWin.document.writeln('</table></form>'); 
     newWin.document.close(); 
     newWin.focus(); 
    } 
    --> 
    </script> 
    <body> 
    <form> 
     <b>Click the following button to open a new window: </b> 
     <input type=BUTTON value="Open" onClick='openWin()'> 
    </form> 
    </body> 
+0

उत्तर के लिए धन्यवाद, लेकिन यह वह नहीं है जो मैं जा रहा था। यह एक टेक्स्ट बॉक्स के साथ एक नई विंडो बनाता है, लेकिन जब भी मैं मूल विंडो में क्लिक करता हूं तब भी खो जाता है। मैं चाहता हूं कि बाल खिड़की शीर्ष पर रहें ताकि उपयोगकर्ता मूल विंडो में प्रवेश करते समय इसका उल्लेख कर सके। –

0
<html> 
    <script language="JavaScript"> 
    <!-- 
    function openWin(){ 
     var myBars = 'directories=no,location=no,menubar=no,status=no'; 
     myBars += ',titlebar=no,toolbar=no'; 
     var myOptions = 'scrollbars=no,width=600,height=400,resizeable=no,top=10, left=10'; 
     var myFeatures = myBars + ',' + myOptions; 
     var newWin = open('test.html', '', myFeatures); 
     newWin.document.close(); 
     newWin.focus(); 
    } 
    --> 
    </script> 
    <body> 
    <form> 
     <b>Click the following button to open a new window: </b> 
     <input type=BUTTON value="Open" onClick='openWin()'> 
    </form> 
    </body> 
</html> 
    </html> 
+0

धन्यवाद, लेकिन मुझे यकीन नहीं है कि आप समझते हैं कि मैं क्या चाहता हूं। "मैं चाहता हूं कि बच्चे की खिड़की शीर्ष पर रहें ताकि उपयोगकर्ता मूल विंडो में प्रवेश करते समय इसका उल्लेख कर सके।" –

0

मैंने लंबे समय से इसके साथ कुश्ती की। ऐसा लगता है कि एफएफ में एक बग है, लेकिन मैंने देखा कि नई विंडो खुलने के बाद, अगर मैं उस पर क्लिक करता हूं, तो यह फोकस करता है और शीर्ष पर आता है। हालांकि उस पर window.focus() को कॉल करना काम नहीं करता था, इसलिए मैंने अनुमान लगाया कि यह बहुत जल्दी हो रहा था।

नई विंडो कोड में

तो, पृष्ठ के तल पर मैं जोड़ा

setTimeout(function(){window.focus()},100); 

यह ठोस अभ्यास का मन नहीं करता लेकिन यदि आप इसे काम करने की जरूरत ... 100mSec हो रहा है सबसे कम जो मेरे सिस्टम पर काम करता है।

+0

इसके अलावा, ऐसा लगता है कि यह केवल तभी काम करता है जब ओपन() अनुरोध एक ईवेंट हैंडलर के अंदर से बनाया गया हो। इसके अलावा, इवेंट हैंडलर को उस ऑब्जेक्ट पर होना चाहिए जो इनपुट एंट्स इत्यादि जैसे फोकस स्वीकार कर सके। –

+0

भले ही आप ईवेंट एन्डलर को divs जैसी चीजों से जोड़ते हैं, फिर भी वे फोकस स्वीकार नहीं कर सकते हैं और इसलिए उपर्युक्त उन पर काम नहीं करेगा। –