2012-08-24 141 views
5

在什麼情況下,瀏覽器中的阻止程序被激活,以及在什麼情況下它們不是?什麼觸發瀏覽器中的彈出窗口攔截器?

你可以使用鏈接上的onclick事件來觸發一個彈出式窗口(target = _blank除外),還是總是會觸發阻止程序?

回答

3

當用戶操作間接啓動彈出窗口時,會觸發大多數彈出窗口阻止程序。

當用戶點擊時會觸發某些彈出式窗口攔截器,但大多數不是。基本上,如果彈出窗口是在點擊處理程序(或它調用的代碼)內觸發的,則通常可以。

如果可能,我會建議完全避免彈出窗口。除了少數例外,它們傾向於破壞用戶體驗。

+0

我同意。在Web應用程序中,用戶更友好的解決方案/彈出窗口的替代方案是在頁面上創建居中的不透明div,並在其後面放置一些透明遮罩以掩蓋其他控件(如lightbox js)。 – tigrou

+0

完全同意工作流問題/設計。它調用FB auth登錄,但我不能重新設計成一個側邊欄。點擊鏈接會調用一個最終顯示FB登錄對話框的函數 - 該函數會被阻止。 – Will

1

這是一個關於彈出窗口的非常詳細的answer。是的,您可以使用onclick事件來觸發彈出窗口,通常這就是廣告公司賺錢的方式 - 他們會跟蹤您的點擊以瞭解您已經看到了彈出式廣告並對其進行計數,因此向您發送彈出窗口的人可以獲得金錢。

此處還有一個非常詳細的article關於彈出窗口阻止程序的工作方式。

相關問題