1

我正在使用以下脚本自动弹出优惠券窗口。但是,正如预期的那样,Chrome 和其他浏览器正在阻止弹出窗口。有没有办法避免被弹出窗口阻止程序阻止?另外,如何居中?

代码:

<SCRIPT LANGUAGE="JavaScript">
<!--
function GetCookie(name) {
  var arg=name+"=";
  var alen=arg.length;
  var clen=document.cookie.length;
  var i=0;
  while (i<clen) {
    var j=i+alen;
    if (document.cookie.substring(i,j)==arg)
      return "here";
    i=document.cookie.indexOf(" ",i)+1;
    if (i==0) break;
  }
  return null;
}
var visit=GetCookie("COOKIE1");
if (visit==null){
   var expire=new Date();
    window.name = "thiswin";
    newwin=open("popup.html", "dispwin",  
    "width=730,height=424,scrollbars=no,menubar=no");
   document.cookie="COOKIE1=here; expires=Thu 01-01-2004 00:00:00 GMT;";
}
// -->
</SCRIPT>
4

2 回答 2

2

有没有办法避免被弹出窗口阻止程序阻止?

是:从用户生成事件的事件处理程序中调用window.open,例如click. 这是浏览器在决定是否阻止弹出窗口时使用的主要标准,因为它至少给出了用户要求某事的一些指示。


而不是弹出窗口,对于这样的事情,我强烈建议使用横幅栏或类似的东西。您在 HTML 顶部的标记中会有类似的内容:

<div id="first-time-banner" style="display: none">text here</div>

然后将该代码的最后一位更改为:

if (visit==null){
   var expire=new Date();
   document.getElementById("first-time-banner").style.display = "block";
   document.cookie="COOKIE1=here; expires=Thu 01-01-2004 00:00:00 GMT;";
}

这将向尚未设置 cookie 的用户显示横幅。您可能希望在横幅中添加一些内容以允许用户关闭它,这涉及将用户事件挂接到元素上(关闭按钮或类似按钮)。例如:

<div id="first-time-banner" style="display: none">
    text here
    <span id="first-time-banner-close">X</span>
</div>

……加上造型span让它看起来不错。然后:

document.getElementById("first-time-banner-close").onclick = function() {
    document.getElementById("first-time-banner").style.display = "none";
};

(还有其他方法可以连接,但稍微复杂一些。)

于 2013-06-07T21:47:11.297 回答
1

同样要居中,您会执行以下操作:

<div id="PopUpFad" style="left: 514.5px; opacity: 0.9999899999999999; position: absolute;
 top: 50%; 
 left: 50%; 
 margin-top: -195px; 
 margin-left: -314px;" class="show"><div class="PopUpFadClose"><a href="#" onclick="PopUpFadCloseX()"><img src="http://livefitrevolution.org/wp-content/plugins/cool-fade-popup/close.jpg"></a></div><div><img src="http://livefitrevolution.org/wp-content/uploads/motivation-difference.jpg"></div></div>

这是视觉辅助的小提琴:

http://jsfiddle.net/Maikel1234/C5rRm/1/

于 2013-06-07T21:52:18.710 回答