2016-04-17 5 views
9

सुनिश्चित नहीं है कि निम्न कोड स्निप SO पर एम्बेडेड काम करेगा, क्योंकि यह चिपकाते समय यह काम नहीं करता है, हालांकि यह अकेले काम करता है।जावास्क्रिप्ट का उपयोग कर पूर्णस्क्रीन ऑनक्लिक से कैसे बाहर निकलें?

समस्या, क्या मैं यह एक टॉगल होना चाहता हूं; न केवल पूर्णस्क्रीन मोड में प्रवेश करने के लिए, लेकिन अगर उपयोगकर्ता पूर्णस्क्रीन में है तो इसे बाहर निकलने के लिए। यह पूर्णस्क्रीन मोड में पूरी तरह से चला जाता है, और बाहर निकलने वाले पूर्णस्क्रीन कोड को निष्पादित करता है (alert() बॉक्स दिखाया गया है जो बाहर निकलने के बाद चलाता है लेकिन बाहर निकलने के कोड के अंदर ही) फिर भी यह कुछ भी नहीं करता है।

मैंने इस here पर पढ़ा है, और here ऐसा लगता है कि मैं सबकुछ सही कर रहा हूं, लेकिन कुछ गुम है। क्या आप इस प्रक्रियात्मक कोड को काम करने के तरीके को समझने में सहायता कर सकते हैं।

function fullscreen() { 
 
\t var isInFullScreen = (document.fullscreenElement && document.fullscreenElement !== null) || 
 
\t \t (document.webkitFullscreenElement && document.webkitFullscreenElement !== null) || 
 
\t \t (document.mozFullScreenElement && document.mozFullScreenElement !== null) || 
 
\t \t (document.msFullscreenElement && document.msFullscreenElement !== null); 
 

 
\t var docElm = document.documentElement; 
 
\t if (!isInFullScreen) { 
 
\t \t if (docElm.requestFullscreen) { 
 
\t \t \t docElm.requestFullscreen(); 
 
\t \t } else if (docElm.mozRequestFullScreen) { 
 
\t \t \t docElm.mozRequestFullScreen(); 
 
\t \t } else if (docElm.webkitRequestFullScreen) { 
 
\t \t \t docElm.webkitRequestFullScreen(); 
 
\t \t } else if (docElm.msRequestFullscreen) { 
 
\t \t \t docElm.msRequestFullscreen(); 
 
\t \t } 
 
\t } else { 
 
\t \t if (docElm.exitFullscreen) { 
 
\t \t \t docElm.exitFullscreen(); 
 
\t \t } else if (docElm.webkitExitFullscreen) { 
 
\t \t \t docElm.webkitExitFullscreen(); 
 
\t \t } else if (docElm.mozCancelFullScreen) { 
 
\t \t \t docElm.mozCancelFullScreen(); 
 
\t \t } else if (docElm.msExitFullscreen) { 
 
\t \t \t docElm.msExitFullscreen(); 
 
\t \t } 
 
\t \t alert('exit fullscreen, doesnt work'); 
 
\t } 
 
}
<a onclick="fullscreen()" href="javascript:void(0);">Toggle FullScreen</a>

मैं भी जहां चेतावनी कोड है parent.exitfs() जोड़ने की कोशिश की, this questions accepted answer के अनुसार है और अभी भी कोई प्रभाव नहीं

उत्तर

19

यह समझ से बाहर है।

जाहिर है, पूर्ण स्क्रीन दर्ज करने के लिए, आपको एलिमेंट का उपयोग करने की आवश्यकता है, हालांकि पूर्णस्क्रीन से बाहर निकलने के लिए, आप document का उपयोग करते हैं।

यहां पूर्णस्क्रीन फ़ंक्शन टॉगल करने के लिए पूर्ण जावास्क्रिप्ट फ़ंक्शन है !!!

function fullscreen() { 
    var isInFullScreen = (document.fullscreenElement && document.fullscreenElement !== null) || 
     (document.webkitFullscreenElement && document.webkitFullscreenElement !== null) || 
     (document.mozFullScreenElement && document.mozFullScreenElement !== null) || 
     (document.msFullscreenElement && document.msFullscreenElement !== null); 

    var docElm = document.documentElement; 
    if (!isInFullScreen) { 
     if (docElm.requestFullscreen) { 
      docElm.requestFullscreen(); 
     } else if (docElm.mozRequestFullScreen) { 
      docElm.mozRequestFullScreen(); 
     } else if (docElm.webkitRequestFullScreen) { 
      docElm.webkitRequestFullScreen(); 
     } else if (docElm.msRequestFullscreen) { 
      docElm.msRequestFullscreen(); 
     } 
    } else { 
     if (document.exitFullscreen) { 
      document.exitFullscreen(); 
     } else if (document.webkitExitFullscreen) { 
      document.webkitExitFullscreen(); 
     } else if (document.mozCancelFullScreen) { 
      document.mozCancelFullScreen(); 
     } else if (document.msExitFullscreen) { 
      document.msExitFullscreen(); 
     } 
    } 
} 

और यह कैसे उपयोग करने के लिए पर एक साधारण मामला:

<a onclick="fullscreen()" href="javascript:void(0);">Toggle FullScreen</a> 

आप यकीन है कि यह एक छोटी विधि जब उपयोगकर्ता पृष्ठ पर एक क्रिया करता है कहा जाता है बनाने की जरूरत है। प्रलेखन कहता है कि, यह एक ऐसी सुविधा है जिसके लिए उच्च पहुंच मोड की आवश्यकता होती है, और इस प्रकार आप (इस समय) पृष्ठ को लोड होने पर, या एसिंक घटनाओं (जब तक वे किसी से ईवेंट नहीं होते हैं) पर पूर्णस्क्रीन को स्वचालित रूप से बल नहीं दे सकते उपयोगकर्ता कार्रवाई जैसे क्लिक), आदि

+0

जाहिर है, मुझे यह त्रुटि मिल रही है 'document.exitFullscreen एक फ़ंक्शन नहीं है'। कोई विचार? – Nigel

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