Code Popup không bị trình duyệt chặn

353

Hi các bạn.
Hầu như đa số người lướt web đều không muốn mình bị quấy rầy bởi các (Popup) tự động hiện lên khi truy cập vào trang web nào đó. Tuy nhiên đứng ở góc độ của người quản trị trang web (Webmaster) thì popup là hình thức quảng cáo hiệu quả nhất và mang lại nhiều lợi ích kinh tế cho họ. Nếu người quản trị trang web đặt Popup nhưng biết cân đối giữa lợi ích của bản thân và không làm khó chịu quá mức cho người dùng thì sẽ có lợi cho cả đôi bên.

Có rất nhiều đoạn mã Javascript dùng để hiển thị Popup nhưng có thể nó sẽ không hoạt động được với nhiều người dùng. Vì các trình duyệt web ngày nay đều có tính năng chặn Popup và các loại Popup bị chặn thường chứa các đoạn mã được gọi tự động khi người dùng truy cập vào trang web thông qua sự kiện onload (onload được gọi khi trang web load xong).
Do đó để tránh bị chặn bạn nên thay thế onload bằng onclick (khi người dùng click chuột vào trang web).

Sau đây là một đoạn code Javacript mẫu dùng đề hiển thị Popup.
[codes=js]

  open(url, ‘_blank’, ‘status=’ + (isStatus ? ‘yes’ : ‘no’) + ‘,’
  + ‘resizable=’ + (isResizeable ? ‘yes’ : ‘no’) + ‘,’
  + ‘scrollbars=’ + (isScrollbars ? ‘yes’ : ‘no’) + ‘,’
  + ‘toolbar=’ + (isToolbar ? ‘yes’ : ‘no’) + ‘,’
  + ‘location=’ + (isLocation ? ‘yes’ : ‘no’) + ‘,’
  + ‘fullscreen=’ + (isFullscreen ? ‘yes’ : ‘no’) + ‘,’
  + ‘titlebar=’ + (isTitlebar ? ‘yes’ : ‘no’) + ‘,’
  + ‘height=’ + height + ‘,’ + ‘width=’ + width + ‘,’
  + ‘top=’ + top + ‘,’ + ‘left=’ + left);
}
[/codes]Giải thích: Hàm showWindow sẽ hiển thị một trang web trên cửa sổ trình duyêt thông qua tham số url được truyền vào khi gọi hàm, cùng nhiều tham số điều khiển việc hiển thị cửa sổ trang web (khi bạn đặt giá trị true ) như:
+ isStatus: hiển thị thanh trạng thái của trình duyệt.
+ resizable: cho phép người dùng thay đổi kích thước cửa sổ trình duyệt.
+ toolbar: hiển thị thanh công cụ của trình duyệt.
+ location: hiện thị URL của trang web.
+ fullscreen: hiển thị cửa sổ toàn màn hình.
+ titlebar: hiển thị tiêu đề trang web.
+ width: chiều rộng của cửa sổ (px).
+ height: chiều cao của cửa sổ (px).
+ top: canh khoảng cách hiển thị cửa sổ với phía trên, left là canh cửa sổ với bên trái (px).

Ví dụ mình muốn hiển thị Popup cho trang web www.tintuyensinh.net khi người dùng click chuột vào bất cứ đâu trên trang web mình sẽ gọi hàm showWindow từ sự kiện onclick đặt trong thẻ body của trang web mình sẽ viết thế này:

Demo các bạn có thể xem tại đây

Do code Popup trong ví dụ minh họa này mình chưa sử dụng cookie để kiểm soát việc hiển thị nên mỗi khi người dùng click thì Popup sẽ hiện lên. Thường thì khi đặt trang trang web bạn nên kết hợp với các hàm Javascript đọc ghi cookie, thời gian để giới hạn số lần hiển thị Popup theo nhiều điều kiện khác nhau như: chỉ hiện 1 lần trong ngày, giờ,…