Гука Posted April 12, 2012 Report Share Posted April 12, 2012 Ищу помощи у знающих.Мне на сайт поставили модальное всплывающее окно, которое появляется при попытке выйти из него.Работает исправно, но есть 2 вопроса:-скрипт настроен на срабатывание 1 раз в сутки, в каком месте можно поменять эту настройку, например поставить через 1 час, или на постоянное?-если потребуется что-бы окно некоторое время вообще не всплывало, как его временно отключить, не удаляя скрипт полностью.Буду благодарен мудрому совету. Quote Link to comment Share on other sites More sharing options...
0 Nanto Posted April 12, 2012 Report Share Posted April 12, 2012 <telepat mode>? 3 Quote Link to comment Share on other sites More sharing options...
0 Гука Posted April 13, 2012 Author Report Share Posted April 13, 2012 Ну это понятно.А что показать?Сам сайт AksiomaUspeha.lvHTML код всей страницы где стоит скрипт?или только его код со странцы?в home папке есть ещё 3 файла js с самим скриптом? Quote Link to comment Share on other sites More sharing options...
0 Andrey447 Posted April 13, 2012 Report Share Posted April 13, 2012 Нужно сразу показывать сам скрипт. Мы же не будем догадываться какой у Вас стоит скрипт на сайте.. Скопируйте его сюда, если хотите получить помощь. Quote Link to comment Share on other sites More sharing options...
0 Гука Posted April 13, 2012 Author Report Share Posted April 13, 2012 (edited) Вот он.(function ($) { 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 hideFlash() { var embeds = document.getElementsByTagName('embed'); for (i = 0; i < embeds.length; i++) { embeds[i].style.visibility = 'hidden'; } var objects = document.getElementsByTagName('object'); for (i = 0; i < objects.length; i++) { objects[i].style.visibility = 'hidden'; } var iframes = document.getElementsByTagName('iframe'); for (i = 0; i < iframes.length; i++) { iframes[i].style.visibility = 'hidden'; } }; function showFlash() { var embeds = document.getElementsByTagName('embed'); for (i = 0; i < embeds.length; i++) { embeds[i].style.visibility = 'visible'; } var objects = document.getElementsByTagName('object'); for (i = 0; i < objects.length; i++) { objects[i].style.visibility = 'visible'; } var iframes = document.getElementsByTagName('iframe'); for (i = 0; i < iframes.length; i++) { iframes[i].style.visibility = 'visible'; } }; /** * When the open event is called, this function will be used to 'open' * the overlay, container and data portions of the modal dialog. * * onOpen callbacks need to handle 'opening' the overlay, container * and data. */ function modalOpen(dialog) { $.fn.exitpopup.modelDlgShown++; hideFlash(); dialog.overlay.fadeIn('fast', function () { dialog.container.fadeIn('fast', function () { dialog.data.hide().slideDown('fast'); }); }); }; /** * When the close event is called, this function will be used to 'close' * the overlay, container and data portions of the modal dialog. * * The SimpleModal close function will still perform some actions that * don't need to be handled here. * * onClose callbacks need to handle 'closing' the overlay, container * and data. */ function simplemodal_close(dialog) { dialog.data.fadeOut('fast', function () { dialog.container.hide('fast', function () { dialog.overlay.slideUp('fast', function () { $.modal.close(); showFlash(); if($.fn.exitpopup.options.cookieOnClose){ createCookie($.fn.exitpopup.options.cookieName, "1", "5"); } //$.fn.exitpopup.modelDlgShown--; }); }); }); }; jQuery.checkSubmitted = function () { return readCookie($.fn.exitpopup.options.cookieName) == "1"; }; jQuery.trackSubmit = function () { createCookie($.fn.exitpopup.options.cookieName, "1", "100"); /* name, value, days */ }; $.fn.exitpopup = function (options) { if (this.length > 0) { var opts = $.extend({}, $.fn.exitpopup.defaults, options); $.fn.exitpopup.options = opts; $.fn.exitpopup.modelDlgShown = 0; opts.myTime = new Date(); var item = $(this[0]); $(document).mousemove(function (e) { var x = 0, y = 0; if (!e) e = window.event; if (e.pageX || e.pageY) { x = e.pageX; y = e.pageY; } else if (e.clientX || e.clientY) { x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft; y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop; } if (/*$.fn.exitpopup.modelDlgShown < 1 &&*/ (y - $(document).scrollTop() <= 5) && (!opts.checkCookie || !$.checkSubmitted())) { // Launch MODAL BOX if(opts.showOnBounceOnly){ var time = Math.floor((new Date()-opts.myTime)/100)/10; if(time > opts.bounceDelay){ return; } } item.modal({ onOpen: modalOpen, onClose: simplemodal_close }); } }); if (opts.showOnDelay) { setTimeout(function () { if (!$.checkSubmitted() && $.fn.exitpopup.modelDlgShown < 1) { // we check the modelDlgShown variable value so that if the user triggered the dialog going out the window, it won't be shown second time on timer event item.modal({ onOpen: modalOpen, onClose: simplemodal_close }); }}, opts.delay * 1000); } } return this; }; $.fn.exitpopup.defaults = { checkCookie: true, // if true, the dialog won't be shown when the cookie is set, if false - the dialog is shown always when the user goes up the browser window cookieName: "pp_msg", cookieOnClose: true, // if true, the dialog is shown to the user once and a cookie is set to prevent second popup showOnMouseout: true, // if true, the dialog is shown on mouse out showOnBounceOnly: false, // if true, the dialog is only shown if the user leaves the page fast showOnDelay: false, // if true, the dialog pops up after the specified amont of time delay: 4, // in seconds bounceDelay: 4 // in seconds };})(jQuery);А вот это вставлено на странице.<!--Cкрипты для модального окна начало--><script type="text/javascript" src="popup/js/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="popup/js/jquery.simplemodal.1.4.2.min.js"></script><script type="text/javascript" src="popup/js/jquery.exitpopup.js"></script><link rel="stylesheet" type="text/css" href="popup/style/exitpopup.css"/><script type="text/javascript"> $(function () { $('#exit_content').exitpopup({ showOnDelay: false}); // $('#exit_content').exitpopup(); // - with default options // $('#exit_content').exitpopup({ checkCookie: false, showOnDelay: true, delay: 30 }); // - more options });</script><!--Cкрипты для модального окна конец--> Edited April 18, 2012 by sigma77 Quote Link to comment Share on other sites More sharing options...
0 Гука Posted April 18, 2012 Author Report Share Posted April 18, 2012 Похоже так и уйду с форума чайником.А информация по этому вопросу так актуальна для меня. Quote Link to comment Share on other sites More sharing options...
0 sigma77 Posted April 18, 2012 Report Share Posted April 18, 2012 Гука,Обрамляйте код тегами [ code ] и [ /code ] без пробелов. На первый раз ваш текст я поправила сама. Но в будущем уважайте других.А почему вы автору этот вопрос не зададите?А так время, походу, задается здесь, глубоко копать сейчас времени нет if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } Quote Link to comment Share on other sites More sharing options...
0 stasuss Posted April 18, 2012 Report Share Posted April 18, 2012 (edited) я так понимаю что тут в скрипте устанавливается дата в кукахfunction createCookie(name, value, days) {if (days) {var date = new Date();[b]date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));[/b]var expires = "; expires=" + date.toGMTString();}else var expires = "";document.cookie = name + "=" + value + expires + "; path=/";};а что бы отключить скрипт, надо закоментировать это<script type="text/javascript">$(function () {$('#exit_content').exitpopup({ showOnDelay: false});// $('#exit_content').exitpopup(); // - with default options// $('#exit_content').exitpopup({ checkCookie: false, showOnDelay: true, delay: 30 }); // - more options});</script>хотя может я и не прав))) Edited April 18, 2012 by stasuss Quote Link to comment Share on other sites More sharing options...
0 Nanto Posted April 18, 2012 Report Share Posted April 18, 2012 (edited) А по-моему у Вас кука по дефолту на 100 дней стоит:jQuery.trackSubmit = function () { createCookie($.fn.exitpopup.options.cookieName, "1", "100"); /* name, value, days */ };Всплывать всегда:$(function () { $('#exit_content').exitpopup({ showOnDelay: false, checkCookie: false}); // $('#exit_content').exitpopup(); // - with default options // $('#exit_content').exitpopup({ checkCookie: false, showOnDelay: true, delay: 30 }); // - more options });Отключить совсем:<script type="text/javascript"> $(function () { //$('#exit_content').exitpopup({ showOnDelay: false}); // $('#exit_content').exitpopup(); // - with default options // $('#exit_content').exitpopup({ checkCookie: false, showOnDelay: true, delay: 30 }); // - more options });</script>P.S. Чёрт... Подсветка вложенных тэгов не работает - сами различия ищите Edited April 18, 2012 by Nanto Quote Link to comment Share on other sites More sharing options...
0 Гука Posted April 19, 2012 Author Report Share Posted April 19, 2012 Обрамляйте код тегами [ code ] и [ /code ] без пробелов. На первый раз ваш текст я поправила сама. Но в будущем уважайте других.А почему вы автору этот вопрос не зададите?Спасибо за подсказку, не знал об этой фишке.А установщик этого скрипта, даже за изменение текста и картинок в окне просит по 300р. хотя это совсем просто, а периодически менять код, это вообще золотое дно для него.Nanto Спасибо, буду эксперементировать, о результатах обязательно отпишу.Куки действительно задействованы, я когда редактировал контент окна, в браузере поставил запрет на приём куки и чистил кэш, чтобы смотреть как окно меняется. Quote Link to comment Share on other sites More sharing options...
0 Гука Posted April 19, 2012 Author Report Share Posted April 19, 2012 Действительно всё работает так как ты сказал. Совсем не сложно.Спасибо большое (жаль нет полномочий на плюсик жать).Получается, что в принципе тему можно закрывать.Но для полной информации, может быть на досуге ещё разберёмв каком месте меняется периодичность показа этого окна, мало ли потребуется поменять в будущем. Quote Link to comment Share on other sites More sharing options...
Question
Гука
Ищу помощи у знающих.
Мне на сайт поставили модальное всплывающее окно, которое появляется при попытке выйти из него.
Работает исправно, но есть 2 вопроса:
-скрипт настроен на срабатывание 1 раз в сутки, в каком месте можно поменять эту настройку, например поставить через 1 час, или на постоянное?
-если потребуется что-бы окно некоторое время вообще не всплывало, как его временно отключить, не удаляя скрипт полностью.
Буду благодарен мудрому совету.
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.