मैंने बहुत से समाधानों की कोशिश की है, लेकिन केवल एक ही मैं उस के साथ आ सकता हूं जिसने यूब्लॉक ओरिजिन के साथ भी काम किया था, पॉपअप की बंद स्थिति की जांच करने के लिए टाइमआउट का उपयोग करके किया गया था।
function popup (url, width, height) {
const left = (window.screen.width / 2) - (width / 2)
const top = (window.screen.height / 2) - (height / 2)
let opener = window.open(url, '', `menubar=no, toolbar=no, status=no, resizable=yes, scrollbars=yes, width=${width},height=${height},top=${top},left=${left}`)
window.setTimeout(() => {
if (!opener || opener.closed || typeof opener.closed === 'undefined') {
console.log('Not allowed...') // Do something here.
}
}, 1000)
}
जाहिर है यह एक हैक है; इस समस्या के सभी समाधान की तरह।
प्रारंभिक उद्घाटन और समापन के लिए आपको अपने सेटटाइमआउट में पर्याप्त समय प्रदान करने की आवश्यकता है, इसलिए यह कभी भी सटीक नहीं होगा। यह परीक्षण और त्रुटि की स्थिति होगी।
इसे अपनी प्रयासों की सूची में जोड़ें।