如何在PopUp窗口被阻止時通知彈出窗口阻止程序? (代碼示例需要)如何在PopUp窗口被阻止的情況下獲得通知?(HTML JS PHP)
2
A
回答
6
隨着
window.open (URL, windowName[, windowFeatures]);
你打開一個新的彈出窗口和URL
你把一些HTML頁面。在該彈出式頁面中,您可以編寫一些JS
,其中您可以使用window.opener
變量,因此您可以從主頁訪問所有JS
。 然後你就可以在頁面popuped設置一些標誌 - 例如:
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>
我會做到這一點的方式。
編輯
這裏是使用PHP
另一種方式:
在你popup.php
,你可以設置一些標誌在會議
$_SESSION['opened'] = true;
而且在index.php
你應該寫的東西AJAX
請求以一個行動,這將返回你的價值從$_SESSION
。
0
簡短的回答是,除非你真的想懲罰你的用戶,否則你不能。
彈出窗口通常是在客戶端使用JavaScript生成的,所以您不能知道彈出窗口是否被服務器阻止,除非您正在監視比較頁面內容請求和來自同一IP的彈出窗口內容請求。該方法會產生令人難以置信的誤報和假陰性數量,因爲如果用戶刷新頁面,他們可能不會再次彈出窗口,但他們可能第一次得到它。或者可以生成一個彈出窗口,然後該窗口中的內容可以獨立於頁面其餘部分的內容加載。結果,唯一合理的解決方案是完全不可靠的。
所以,你可以做的就是編寫一個JavaScript測試來測量一個彈出窗口是否應該從JavaScript中產生。當JavaScript觸發時,但彈出窗口不立即存在,那麼您必須觸發AJAX才能向您發送警報,以便您動態地通知彈出窗口無法加載。但是,如果我看到過這樣的代碼,我會從我的企業中將您的整個域名列入黑名單,並提醒主要安全公司您是惡意網站或已被入侵。
相關問題
- 1. 工具提示被POPUP窗口阻止
- 2. 如何在不阻塞窗口的情況下打開文件?
- 3. 如何在不知道具體類型的情況下獲得通用接口?
- 4. PHP如何在這種情況下獲得html原始代碼?
- 5. 如何在沒有在JavaScript中打開新窗口的情況下檢測阻止的彈出窗口?
- 6. 如何阻止我的Facebook共享窗口被彈出窗口阻止程序阻止?
- 7. HTML中的POPUP窗口
- 8. 在WPF(.net 4.0)中,如何在不阻塞主窗口的情況下讓子窗口阻塞代碼?
- 9. 如何在不點擊鏈接的情況下獲得JavaScript彈出窗口?
- 10. 如何在特定情況下停止通知
- 11. 如何在情況下獲得AVG?
- 12. 如何在不引用新的html文件的情況下創建Web Popup窗口?
- 13. Node/express - 如何在不被CORS阻止的情況下強制使用HTTPS
- 14. 當窗口打開?如何知道窗口在沒有監聽窗口事件的情況下打開?
- 15. 如何在沒有robots.txt的情況下阻止機器人
- 16. 如何在不阻止InnoSetup UI的情況下執行7zip?
- 17. 如何在不阻止功能的情況下編輯此Javascript?
- 18. WPF:如何在不阻止動畫的情況下更新UI
- 19. 如何在不阻止用戶界面的情況下暫停
- 20. 如何測試一個命名窗口是否被打開或被彈出窗口阻止程序阻止?
- 21. 通知窗口 - 防止窗口聚焦
- 22. 如何在瀏覽器阻止的情況下在新窗口中打開鏈接
- 23. 如何阻止一個窗口端口
- 24. 如何在JavaFX中阻止主窗口
- 25. 我如何在某些情況下阻止jquery.address更改網址
- 26. Qt C++窗口標題欄被阻止
- 27. 每次彈出窗口被阻止時
- 28. Twitter登錄彈出窗口被阻止
- 29. 如何在不阻止Recycler View事件的情況下捕獲ACTION.MOVE_UP?
- 30. 如何在沒有投票的情況下通知我的JS客戶端?
請勿使用彈出窗口。就這麼簡單。 – 2010-05-04 08:45:12