Lütfen PopUp penceresi engellendi eğer bilgi almak nasıl? (HTML JS PHP)

2 Cevap php

Lütfen PopUp pencere açılır up engelleyicisi tarafından engellendi nasıl bilgi almak için? (KOD ÖRNEK GEREKİR)

2 Cevap

Ile

window.open (URL, windowName[, windowFeatures]);

you open a new popup and as URL you put some html page. In that popup'ed page you write some JS in which you can use window.opener variable so you can has an access to all JS from your main page. Then you can in popuped page set some flag - for example:

index.html

<html>
  <body>
    <script type="text/javascript">
      var opened = false;
      window.open('popup.html');
      // and here some loop in mooTools/jQuery/or
      // something to look up for variable changes
    </script>
  </body>
</html>

popup.html

<html>
  <body>
    <script type="text/javascript">
      window.opener.opened = true;
    </script>
  </body>
</html>

Ben bu bu şekilde yapacağız.

Edit

Ve burada kullanarak başka bir yoludur PHP:

Senin içinde popup.php Eğer oturumda bazı bayrağı ayarlayabilirsiniz

$_SESSION['opened'] = true;

Ve index.php Eğer AJAX ana eylem talep için bir şeyler yazmak hangi olacak döner size bir değer $_SESSION.

Kısa cevap size gerçekten kullanıcıları cezalandırmak istemiyor sürece olmasıdır.

Popup'lara genellikle JavaScript kullanarak istemci tarafında oluşturulur, böylece aynı IP'den açılan içeriğinden istekleri karşı sayfa içerik isteklerini karşılaştırmak için izliyor sürece açılan sunucudan bloke edilmiştir, bu nedenle bilemezsiniz. Bir kullanıcı sayfayı yeniler çünkü eğer onlar Popup ikinci kez almak olmayabilir ama bu yöntem yanlış pozitif ve yanlış-negatif inanılmaz sayıda üretir, ama onlar bunu ilk defa kazanılmış olabilir. Ya da bir açılır pencere oluşturulmuş olabilir ve bu pencerede içeriği daha sonra sayfanın geri kalanı içeriği bağımsız yükleyebilirsiniz. Sonuç olarak tek mantıklı bir çözümdür tamamen güvenilir değildir.

Peki, ne yapabilirim o ateş JavaScript'den olması gerektiği gibi bir açılır pencere oluşturulan olmadığını ölçmek için bir JavaScript testi yazmaya. Ne zaman JavaScript yangınları ateş, ancak açılır pencere hemen dinamik açılan yüklenemedi bildirilir böylece o size bir uyarı göndermek için AJAX kapalı yangın olurdu yok. Ben hiç böyle bir kod gördüm, ancak, benim işletmeden tüm etki Kara ve kötü niyetli bir web sitesi ya vardır ya da tehlikeye oylandı büyük güvenlik firmaları uyarabilir.