Всплывающее окно при загрузке страницы - PullRequest
1 голос
/ 23 мая 2011

Мне нужно, чтобы при загрузке страницы отображалось всплывающее окно.Что происходит, это.После размещения заказа пользователь перенаправляется на свою страницу индекса (главную страницу входа для учетной записи), когда он перенаправляется на страницу индекса, мне нужно всплывающее окно для отображения на странице загрузки, которое говорит что-то вроде "Ваш заказ на переменную $ был сохранен ".Переменная $ определена на предыдущей странице (откуда они берутся), и мне нужно это перенести, чтобы я мог отобразить ее во всплывающем окне.Затем, когда они нажимают «Ок» во всплывающем окне, они как и всегда на главной странице.

Я уже использовал всплывающее окно Java ранее в этом проекте, но я не уверен, как это сделать.один с этими требованиями.Если есть другие / лучшие способы сделать это, я открыт для идей.Схема того, как это должно работать, приведена ниже:

Клиент вошел в свою учетную запись -> Страница Order.php (разместить заказ) -> перенаправлен на свою страницу member-index.php (Нужны всплывающие окна)загружать при загрузке страницы, и только тогда, когда это происходит со страницы order.php)

Спасибо!

Ответы [ 4 ]

0 голосов
/ 23 мая 2011

Ну, насколько я понимаю, это будет лучшим выбором для вас.

На предыдущей странице сохраните куки (источник 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"> или просто скрипт в заголовке или где-то еще.

0 голосов
/ 23 мая 2011

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

`

0 голосов
/ 23 мая 2011

Полагаю, вы имеете в виду javascript. Вы можете сделать это

<body onLoad="popup()">

Любой код в событии "onLoad" должен запускаться после загрузки HTML. Если вы используете Jquery, он должен выглядеть следующим образом

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

Вы можете передать свою переменную во всплывающую функцию.

0 голосов
/ 23 мая 2011

Вы не можете заставить всплывающую страницу открываться при загрузке страницы; браузеры больше не будут этого делать. Вы можете создать «поддельное» всплывающее окно, просто поместив элемент в середине экрана и украсив его так, чтобы он выглядел как окно. Различные библиотеки JavaScript предоставляют такие «диалоговые» возможности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...