繁体   English   中英

页面加载时弹出窗口

[英]Pop-Up Window on page load

页面加载时,我需要显示一个弹出窗口。 这是怎么回事。 下订单后,将用户重定向到索引页面时,用户将重定向到他们的索引页面(帐户的主登录页面),我需要一个弹出窗口来显示页面负载,该窗口上应显示“您的$ variable订单已保存”。 $ variable在上一页中定义(它们来自何处),我需要将其保留下来,以便可以在弹出框中显示它。 然后,一旦他们在弹出框中单击“确定”,它们便像往常一样位于主页上。

在此项目上,我之前使用过Java弹出框,但不确定如何满足这些要求。 如果有其他/更好的方法可以做到这一点,我欢迎您提出意见。 其工作方式的布局如下:

客户端登录到他们的帐户-> Order.php页面(下订单)->重定向到其member-index.php页面(弹出窗口需要在页面加载时加载,并且仅在来自order.php页面时加载) )

谢谢!

您不能强制弹出页面在页面加载时打开; 浏览器不会再这样做了。 您可以通过将元素放置在屏幕中间并进行装饰,使其看起来像一个窗口,来创建“伪”弹出窗口。 各种JavaScript库都提供了这种“对话”功能。

`function showpopup(){

            var findString = /order.php/gi;
            var referringURL = document.referrer;
            var data = getQuerystring('variable');
            if(referringURL.match(findString)) {
                var windowprops = "left=50,top=50,width=500,height=500";
                var preview = window.open("http://google.com", "preview", windowprops);
                preview.document.write(data);
            } else {
                alert("Not order.php "+data);
            }
        }

        function getQuerystring(key, default_) {
            if (default_==null) default_="";
            key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
            var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
            var qs = regex.exec(window.location.href);
            if(qs == null)
                return default_;
            else
                return qs[1];
        }
    </script>
</head>
<body onload="showpopup()">

`

我认为您的意思是javascript。 您可能要这样做

<body onLoad="popup()">

加载html后,应会触发“ onLoad”事件中的任何代码。 如果您使用的是Jquery,它应该看起来像这样

$("document").ready(function() {
    popup();
});

您可以将变量传递到弹出功能中。

从我的理解来看,这将是最适合您的选择。

在前一页上保存一个cookie(来源http://www.quirksmode.org/js/cookies.html )。

function createCookie(name,value,days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name) {
createCookie(name,"",-1);
}

createookie("prevData", prevData, 30);

然后,在该页面上您希望弹出窗口出现(我建议使用警报)(注意:您还需要此页面上可用的cookie代码):

var prevData =  readCookie("prevData");
if(prevData != null){
    alert("Your order for " + prevData + " has been saved");
    eraseCookie("prevData");
}

这可以在<body onLoad="code">也可以在标头中的脚本中,或者实际上是任何地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM