// 弹出广告 function showPopup(data) { if (!data.test) { var key; switch (data.present) { case 1: // 总是显示 break; case 2: // 只显示一次 key = "sp_popup_" + data.type + "_" + data.id; if (localStorage[key]) return; localStorage[key] = game9g.utils.now(); break; case 3: // 一天内只显示一次 key = "sp_popup_" + data.type + "_" + data.id + "_" + game9g.utils.today(); if (localStorage[key]) return; localStorage[key] = game9g.utils.now(); break; case 4: // 会话期间只显示一次(特别地,当从菜单进入时,视为新的会话 fix for PC微信) if (game9g.utils.getParameter("f") != "menu") { key = "sp_popup_" + data.type + "_" + data.id; if (sessionStorage[key]) return; sessionStorage[key] = game9g.utils.now(); } break; } } var pid = data.id || 0; game9g.ui.showMask(); var img = $("#popup .jumbotron"); img.attr("src", data.imgurl); if (data.width) img.css("width", data.width); var close = $("#popup .close"); $("#popup").show(); logPopup(pid, 1); game9g.ui.onTap(img[0], function() { logPopup(pid, 2, function() { window.location = data.link; }); }); game9g.ui.onTap(close[0], closePopup); } // 关闭弹出广告 function closePopup() { $("#popup").hide(); game9g.ui.hideMask(); } // 弹出广告 log function logPopup(pid, type, callback) { var url = "https://wx.9g.com/app/popuplog?pid=" + pid + "&type=" + type + "&token=" + localStorage.token; $.getJSON(url, function(data) { callback && callback.call(null, data); }); } // 弹出广告预览 window.addEventListener("message", function(e) { if (e.source != top) return; if (e.data && e.data.action == "test:popup") { var data = e.data.popup; data.test = true; closePopup(); showPopup(data); } });