İyi bir uygulama olarak, bir pop-up'ın engellenip engellenmediğini test etmek ve harekete geçmek iyi bir fikirdir . Window.open öğesinin bir dönüş değeri olduğunu ve işlem başarısız olursa bu değerin boş olabileceğini bilmeniz gerekir. Örneğin, aşağıdaki kodda:
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;
}
açılır pencere engellenirse, window.open null değerini döndürür. Böylece işlev false değerini döndürür.
Örnek olarak, bu işlevi doğrudan herhangi bir bağlantıdan aradığınızı düşünün target="_blank"
: açılır pencere başarıyla açılırsa, döndürmek
false
bağlantı eylemini engelleyecektir, aksi takdirde açılır pencere engellenirse, döndürmek true
varsayılan davranışa (yeni _blank penceresi aç) izin verir ve devam eder .
<a href="http://whatever.com" target="_blank" onclick='return pop("http://whatever.com",300,200);' >
Bu şekilde, eğer çalışırsa bir pop-up penceresi ve eğer değilse bir _blank penceresi olacaktır.
Açılır pencere açılmazsa şunları yapabilirsiniz:
- örnekteki gibi boş bir pencere açın ve devam edin
- sahte bir açılır pencere açın (sayfanın içinde bir iç çerçeve)
- kullanıcıyı bilgilendirin ("lütfen bu site için açılır pencerelere izin verin")
- boş bir pencere açın ve sonra kullanıcıyı bilgilendirin vb.