Thiết kế website uy tín chất lượng

http://vndes.net


Code tạo nhiều popunder dễ dàng

survey

survey

Code này dùng để tạo popunder (quảng cáo popup) dễ dàng hơn, làm việc tốt trên FF, Chrome, IE.Đặc biệt là có thể popup nhiều link mà ko sợ bị google chrome chặn như mấy cái code khác

Tính năng

  • Set popup với nhiều options khác nhau
  • Popup được nhiều link cùng lúc mà ko phải sửa nhiều code
  • Chống bị google chrome block
  • Hoạt động độc lập, ko cần dùng tới thư viện bên ngoài như jquery hay bất kỳ cái gì khác
  • Gọn nhẹ
  • Chạy tốt với Chrome 28 mới nhất hiện tại và các phiên bản FF khác
  • Popup chạy nhanh

Nhược điểm

  • Nếu google chrome để allow popunder cho 1 số site mình set thì có thể nó sẽ popup ra nhiều lần (nhưng tỉ lệ người rỗi hơi đi allow cho từng url để nó nhảy ra popup là cực kỳ ít và chắc chẳng ai ... đến nối như vậy)
/**
 * @author Phan Thanh Cong <chiplove.9xpro at gmail dot com>
 * @since June 14, 2012
 * @version 1.2
 * @since Jul 25, 2013 - Fixed bugs on IE 6,7,8
 
 ***** CHANGE LOGS *****
 * 1.2 - Jul 5, 2013 - Anti Google Chrome Blocker
 * 1.3 - Jul 25, 2013 - Fixed bugs on IE 6,7,8
*/
var Light = Light || {};
Light.Popup = {
 popName:  'Chip-LightPopup',
 alwaysPop: false, // refresh = new pop
 onNewTab: true,
 /**
  * 1: window onclick, 
  * 2: window onload -> document onclick
 */
 eventType: 1, 
 defaults: {
 width: window.screen.width,
 height: window.screen.height,
 left: 0,
 top: 0,
 location: 1,
 tollbar: 1,
 status: 1,
 menubar: 1,
 scrollbars: 1,
 resizable: 1
 },
 newWindowDefaults: {
 width: window.screen.width - 20,
 height: window.screen.height - 20
 },
 __newWindow: {
 scrollbars: 0
 },
 __counter : 0,
 create: function(link, options) {
 var optionsOriginal = options = options || {},
 me = this;
 var popName = me.popName + '_' + (me.__counter++);
 var keys = ['onNewTab', 'eventType', 'cookieExpires', 'alwaysPop'];
 for(var i in keys) {
 var key = keys[i];
 if(typeof options[key] != 'undefined') {
 eval('var ' + key + ' = options.' + key);
 delete options[key];
 } else {
 eval('var ' + key + ' = me.' + key);
 }
 }
 if(alwaysPop) {
 cookieExpires = -1;
 }
 for(var i in me.defaults) {
 if(typeof options[i] == 'undefined') {
 options[i] = me.defaults[i];
 if(!onNewTab && typeof me.newWindowDefaults[i] != 'undefined') {
 options[i] = me.newWindowDefaults[i];
 }
 }
 }
 for(var i in me.__newWindow) {
 options[i] = me.__newWindow[i];
 }
 var params = [];
 for(var i in options) {
 params.push(i + '=' + options[i]); 
 } 
 params = params.join(',');
 var executed = false; 
 var execute = function() {
 if(me.cookie(popName) === null && !executed) {
 // Jul 5, 2013 - Anti Google Chrome Blocker
 if(typeof window.chrome != 'undefined' && navigator.userAgent.indexOf('Windows') != -1
 && typeof ___lastPopTime != 'undefined' && ___lastPopTime+5 > new Date().getTime()) {
 return;
 }
 executed = true;
 if(onNewTab) {
 var w = window.open(link, popName);
 } else {
 var w = window.open(link, '_blank', params);
 }
 w && w.blur(); // "w" may null on IE
 window.focus();
 me.cookie(popName, 1, cookieExpires);
 // Jul 5, 2013 - Anti Google Chrome Blocker
 ___lastPopTime = new Date().getTime();
 if(navigator.userAgent.indexOf('Mac OS') != -1 && typeof window.chrome != 'undefined') {
 setTimeout(function(){
 if(!w.innerWidth || !w.document.documentElement.clientWidth) {
 me.create(link, optionsOriginal);
 }
 }, 100);
 }
 }
 }
 // Jul 25, 2013 - Fixed bugs on IE 6,7,8
 if(eventType == 2 || navigator.userAgent.match(/msie\s+(6|7|8)/i)) {
 if (!window.addEventListener) {
 window.attachEvent("onload", function(){
 document.body.attachEvent("onclick", execute);
 });
 } else {
 window.addEventListener("load", function(){
 document.body.addEventListener("click", execute);
 });
 }
 }
 else if(eventType == 1) {
 if (!window.addEventListener) {
 window.attachEvent("onclick", execute);
 } else {
 window.addEventListener("click", execute);
 }
 } 
 },
 cookie: function(name, value, days) {
 if(arguments.length == 1) {
 var cookieMatch = document.cookie.match(new RegExp(name+"=[^;]+", "i"));
 return (cookieMatch) ? decodeURIComponent(cookieMatch[0].split("=")[1]) : null; 
 }
 if(days == null || typeof days == 'undefined') {
 expires = '';
 } else {
 var date;
 if (typeof days == 'number') {
 date = new Date();
 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
 } else {
 date = days;
 }
 expires = '; expires=' + date.toUTCString();
 } 
 var value = escape(value) + expires + "; path=/";
 document.cookie = name + "=" + value; 
 }
};

Cách sử dụng thì các bạn include file js ở trên vào site bạn, chỗ nào cũng được, sau đó dùng hàm sau để đặt popup, có thể đặt cho nhiều site