एक अच्छा अभ्यास के रूप में मुझे लगता है कि यह एक अच्छा विचार है कि अगर कोई पॉपअप अवरुद्ध हो और मामले में कार्रवाई की जाए तो यह एक अच्छा विचार है । आपको यह जानना होगा कि window.open का रिटर्न मान है, और यदि कार्रवाई विफल हो गई तो यह मान शून्य हो सकता है। उदाहरण के लिए, निम्नलिखित कोड में:
function pop(url,w,h) {
n=window.open(url,'_blank','toolbar=0,location=0,directories=0,status=1,menubar=0,titlebar=0,scrollbars=1,resizable=1,width='+w+',height='+h);
if(n==null) {
return true;
}
return false;
}
यदि पॉपअप अवरुद्ध है, तो window.open अशक्त हो जाएगा। तो फ़ंक्शन गलत वापस आ जाएगा।
एक उदाहरण के रूप में, इस फ़ंक्शन को सीधे किसी भी लिंक से कॉल करने की कल्पना करें target="_blank"
: यदि पॉपअप सफलतापूर्वक खोला गया है, तो लौटने
false
से लिंक कार्रवाई अवरुद्ध हो जाएगी, अन्यथा यदि पॉपअप अवरुद्ध हो जाता है, तो लौटने true
से डिफ़ॉल्ट व्यवहार (नई _blank विंडो खोलें) और आगे बढ़ेगा ।
<a href="http://whatever.com" target="_blank" onclick='return pop("http://whatever.com",300,200);' >
इस तरह से आपके पास एक पॉपअप होगा यदि यह काम करता है, और एक _blank विंडो नहीं तो।
यदि पॉपअप नहीं खुलता है, तो आप कर सकते हैं:
- उदाहरण में एक खाली विंडो खोलें और आगे बढ़ें
- एक नकली पॉपअप खोलें (पृष्ठ के अंदर एक iframe)
- उपयोगकर्ता को सूचित करें ("कृपया इस साइट के लिए पॉपअप की अनुमति दें")
- एक रिक्त विंडो खोलें और फिर उपयोगकर्ता आदि को सूचित करें।