我使用以下脚本自动弹出优惠券窗口。但是,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>
答案 0 :(得分: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";
};
(还有其他方法可以解决问题,但它们稍微复杂一些。)
答案 1 :(得分: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>
这是视觉辅助的小提琴: