Как создать всплывающее окно при закрытие страницы

Discussion in 'Проектирование' started by hoxvel, Mar 27, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    Всем привет!
    Кто нибудь знает как сделать всплывающее окно или переход на определенную страничку при нажатие на крестик?(закрытие странички),для опроса типо почему уходите,что не понравилось на сайте,и несколько вариантов ответа,а ответы получать на почту или какая нибудь статистика в админке.Что то примерно такое.
    Подскажите пожалуйста кто знает.
     
  2.  
  3. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
    _http://blog.pc-lessons.ru/news/sozdanie-vsplyvayushhego-okna-pri-zakrytii-stranicy.html

    Код (PHP):
    1. <script type="text/javascript">
    2.   window.onbeforeunload = function()
    3.    {
    4.      return 'Please do not leave this page.';
    5.    }
    6.  
    7. </script>


    Протратил наверно 3 часа на гугление :) забыл название домена...

    Собственно такой вид трафика называется EXIT-трафик и сервис самый популярный: _http://comebacker.ru/
    Скрипт "Удержание на странице"

    _http://panferoff.su/urok-7-kak-sobirat-podpischikov-s-odnostranichnyx-sajtov-s-pomoshhyu-exit-script/

    http://www.youtube.com/watch?feature=player_embedded&v=HgQzQo2f0As
     
    Last edited: Mar 27, 2013
    hoxvel likes this.
  4. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    Спасибо большое,то что нужно, вот только текст на русском отображается вопросительными знаками,как это исправить?
     
  5. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    Да, и в Опере не работает
     
  6. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
  7. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    А где кодировку поменять? В phpMyAdmin меняю,ни чего не происходит

    Весь сайт полетел из-за этих скриптов

    Ненужно писать несколько сообщений подряд, есть кнопку "Изменить", чтобы можно было дополнить своё предыдущее сообщение.
     
    Last edited by a moderator: Mar 28, 2013
  8. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    Не наступайте вы на эти грабли. Сколько уже понаписано статей про это... Если пользователь нажимает крестик - значит он хочет уйти, а вы его насильно удерживаете.

    .....................
    всплывающее окно JavaSript и базы данных никак не связаны, при чём тут phpMyAdmin? вот и "полетел" ваш сайт из-за вашей же безграмотности.
     
  9. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    А что может повредить сайту в этом скрипте?Когда добавил его в index.php минут 10 все работало хорошо,а потом сайт как на изнанку вывернуло.

    Код (CODE):
    1. <script language="javascript">
    2.  
    3. var exitsplashmessage = '***************************************\n\n В А Ж Н О Е С О О Б Щ Е Н И Е:\n\n КЛИКНИТЕ ПО КНОПКЕ ОТМЕНА/CANCEL, ЧТОБЫ\n ОСТАТЬСЯ НА ЭТОЙ СТРАНИЦЕ И ПОЛУЧИТЬ\n БЕСПЛАТНЫЙ ВИДЕО-КУРС "ИНТЕРНЕТ-ПРЕДПРИНИМАТЕЛЬ"!\n\n НАЖМИТЕ НА КНОПКУ «ОТМЕНА»\n\n***************************************';
    4.  
    5. var exitsplashpage = 'http://panferoff.biz';
    6.  
    7. function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); }}}
    8.  
    9. function addClickEvent(a,i,func) { if (typeof a[i].onclick != 'function') { a[i].onclick = func; } }
    10.  
    11. var theDiv = '<div id="ExitSplashDiv" style="display:block; width:100%; height:100%; position:absolute; background:#FFFFFF; margin-top:0px; margin-left:0px;" align="center">';
    12.  
    13. theDiv = theDiv + '<iframe src="'+exitsplashpage+'" width="100%" height="100%" align="middle" frameborder="0"></iframe>';
    14.  
    15. theDiv = theDiv + '</div>';
    16.  
    17. theBody = document.body; if (!theBody) {theBody = document.getElementById("body"); if (!theBody) {theBody = document.getElementsByTagName("body")[0];}}
    18.  
    19. var PreventExitSplash = false;
    20.  
    21. function DisplayExitSplash(){ if(PreventExitSplash == false){ window.scrollTo(0,0); PreventExitSplash=true; divtag = document.createElement("div"); divtag.setAttribute("id","ExitSplashMainOuterLayer"); divtag.style.position="absolute"; divtag.style.width="100%"; divtag.style.height="100%"; divtag.style.zIndex="99"; divtag.style.left="0px"; divtag.style.top="0px"; divtag.innerHTML=theDiv; theBody.innerHTML=""; theBody.topMargin="0px"; theBody.rightMargin="0px"; theBody.bottomMargin="0px"; theBody.leftMargin="0px"; theBody.style.overflow="hidden"; theBody.appendChild(divtag); return exitsplashmessage; } }
    22.  
    23. var a = document.getElementsByTagName('A'); for (var i = 0; i < a.length; i++) { if(a[i].target !== '_blank') {addClickEvent(a,i, function(){ PreventExitSplash=true; });} else{addClickEvent(a,i, function(){ PreventExitSplash=false;});}}disablelinksfunc = function(){var a = document.getElementsByTagName('A'); for (var i = 0; i < a.length; i++) { if(a[i].target !== '_blank') {addClickEvent(a,i, function(){ PreventExitSplash=true; });} else{addClickEvent(a,i, function(){ PreventExitSplash=false;});}}}
    24.  
    25. addLoadEvent(disablelinksfunc);
    26.  
    27. disableformsfunc = function(){ var f = document.getElementsByTagName('FORM'); for (var i=0;i<f.length;i++){ if (!f[i].onclick){ f[i].onclick=function(){ PreventExitSplash=true; } }else if (!f[i].onsubmit){ f[i].onsubmit=function(){ PreventExitSplash=true; }}}}
    28.  
    29. addLoadEvent(disableformsfunc);
    30.  
    31. window.onbeforeunload = DisplayExitSplash;
    32.  
    33. </script>
     
  10. Offline

    hoxvel Недавно здесь

    Joined:
    Mar 22, 2013
    Messages:
    15
    Likes Received:
    0
    Gender:
    Male
    Хорошо что резервную копию сделал.Все нармуль.
     
Thread Status:
Not open for further replies.

Share This Page

Loading...