আপডেট: পপআপগুলি সত্যই প্রাচীন কাল থেকে বিদ্যমান। প্রাথমিক ধারণাটি ছিল মূল উইন্ডোটি বন্ধ না করেই অন্য একটি সামগ্রী দেখানো। এখন পর্যন্ত, এটি করার অন্যান্য উপায় রয়েছে: জাভাস্ক্রিপ্ট সার্ভারের জন্য অনুরোধগুলি প্রেরণ করতে সক্ষম, তাই পপআপগুলি খুব কমই ব্যবহৃত হয়। তবে কখনও কখনও তারা এখনও কার্যকর হয়।
অতীতে দুষ্ট সাইটগুলি পপআপগুলিকে প্রচুর অপব্যবহার করে। একটি খারাপ পৃষ্ঠা বিজ্ঞাপন সহ প্রচুর পপআপ উইন্ডো খুলতে পারে। সুতরাং এখন বেশিরভাগ ব্রাউজারগুলি পপআপগুলি অবরুদ্ধ করার এবং ব্যবহারকারীকে সুরক্ষিত করার চেষ্টা করে।
বেশিরভাগ ব্রাউজারগুলি পপআপগুলিকে ব্লক করে যদি তারা অনক্লিকের মতো ব্যবহারকারী-ট্রিগারযুক্ত ইভেন্ট হ্যান্ডলারগুলির বাইরে ডাকা হয়।
যদি আপনি এটি সম্পর্কে চিন্তা করেন, এটি কিছুটা কৃপণ। কোডটি যদি সরাসরি কোনও অন্লিক হ্যান্ডলারে থাকে তবে তা সহজ। কিন্তু সেটটাইমআউটে পপআপটি কী খোলে?
এই কোড ব্যবহার করে দেখুন:
// open after 3 seconds
setTimeout(() => window.open('http://google.com'), 3000);
পপআপটি Chrome এ খোলে তবে ফায়ারফক্সে অবরুদ্ধ হয়ে যায়।
… এবং এটি ফায়ারফক্সেও কাজ করে:
// open after 1 seconds
setTimeout(() => window.open('http://google.com'), 1000);
পার্থক্যটি হ'ল ফায়ারফক্স 2000 মিমি বা তার চেয়ে কম সময়ের একটি সময়সীমা গ্রহণযোগ্য হিসাবে গ্রহণযোগ্য, তবে এটির পরে - "বিশ্বাস" সরিয়ে দেয়, ধরে নিয়েছে যে এটি এখন "ব্যবহারকারীর ক্রিয়া বাইরে"। সুতরাং প্রথমটি অবরুদ্ধ, এবং দ্বিতীয়টি নয়।
আসল উত্তর যা বর্তমান ছিল 2012:
পপআপ ব্লকারের পরীক্ষার জন্য এই সমাধানটি এফএফ (ভি 11), সাফারি (ভি 6), ক্রোম (v23.0.127.95) এবং আইই (v7 এবং v9) এ পরীক্ষা করা হয়েছে। আপনি যথাযথ দেখতে দেখতে ত্রুটি বার্তাটি হ্যান্ডেল করতে ডিসপ্লে-এরর ফাংশন আপডেট করুন।
var popupBlockerChecker = {
check: function(popup_window){
var scope = this;
if (popup_window) {
if(/chrome/.test(navigator.userAgent.toLowerCase())){
setTimeout(function () {
scope.is_popup_blocked(scope, popup_window);
},200);
}else{
popup_window.onload = function () {
scope.is_popup_blocked(scope, popup_window);
};
}
} else {
scope.displayError();
}
},
is_popup_blocked: function(scope, popup_window){
if ((popup_window.innerHeight > 0)==false){
scope.displayError();
}
},
displayError: function(){
alert("Popup Blocker is enabled! Please add this site to your exception list.");
}
};
ব্যবহার:
var popup = window.open("http://www.google.ca", '_blank');
popupBlockerChecker.check(popup);
আশাকরি এটা সাহায্য করবে! :)