页面加载时弹出窗口

时间:2011-05-23 13:14:11

标签: php javascript popup onload

我需要在页面加载时显示弹出窗口。这是怎么回事。下订单后,用户被重定向到他们的索引页面(帐户的主登录页面),当他们被重定向到索引页面时,我需要一个弹出窗口显示在页面加载上,如“您的$ variable订单已保存“。 $变量是在上一页(它们来自哪里)定义的,我需要继续这样,所以我可以在弹出框中显示它。然后,一旦他们点击弹出框中的“确定”,他们就像往常一样在主页面上。

我之前在这个项目中使用了一个java弹出框,但我不确定如何使用这些要求。如果还有其他/更好的方法可以做到这一点,我愿意接受各种想法。这需要如何工作的布局如下:

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

谢谢!

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

` 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()">

`

答案 2 :(得分:0)

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

<body onLoad="popup()">

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

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

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

答案 3 :(得分:0)

根据我的理解,这将是最适合你的。

在上一页保存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">中,也可以只是标题中的脚本或任何地方。