|
|
Модератор форума: JonMagon |
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Скрипт ЛС |
Скрипт ЛС |
Здравствуйте. Если ли такой скрипт [Когда пользователь регистрируется на сайте и ему сразу приходит ЛС с каким-то текстом] ?
|
Есть идея как это сделать: использовать спецтег, отображающий кол-во дней на сайте. Блок if проверяет это число, если оно 0 - отправляет сообщение, делает запись в cookies. Все это помещено в другой if, который проверяет cookies (чтобы не отправлять много раз). Я пока только учу JavaScript, надеюсь кто-нибудь из форумчан напишет
|
WelcomeToHell, где-то точно был такой скрипт, но он на php. Есть конечно версия и без него, но тогда пользователю не будет приходить ЛС, а просто будет показыватся уведомление.
Сообщение отредактировал NeoGame12 - Воскресенье, 13 Янв 2013, 18:25:10
|
Ок, написал. Вставляем перед </body> на главной странице, или где нам надо чтобы показывалось окно:
Код <?if($USER_LOGGED_IN$)?><script language="javascript"> var date = new Date(); var day = date.getDate(); var year = date.getFullYear(); var month = date.getMonth(); var i = 0; day++; if (get_cookie("opening")==null) {i = 0;} else {a = get_cookie("opening"); set_cookie("opening", a, year, month, day, "/");} setTimeout('newuser()', 1000); //таймер до открытия окна в миллисекундах function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) { var cookie_string = name + "=" + escape ( value ); if ( exp_y ) { var expires = new Date ( exp_y, exp_m, exp_d ); cookie_string += "; expires=" + expires.toGMTString(); } if ( path ) cookie_string += "; path=" + escape ( path ); if ( domain ) cookie_string += "; domain=" + escape ( domain ); if ( secure ) cookie_string += "; secure"; document.cookie = cookie_string; } function get_cookie ( cookie_name ) { var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' ); if ( results ) return ( unescape ( results[2] ) ); else return null; } function newuser() { if (get_cookie("opening")==null) {set_cookie("opening", "0", year, month, day, "/");} if (!$USER_REG_DAYS$=="0"|get_cookie("opening")<=0) { //первое число - кол-во днец после регистрации (которое юзер считается новичком), второе - кол-во показов окна (0 - 1) new _uWnd('ajax','Для новых пользователей','350','400',{autosize:false,modal:true,close:true,header:true,nomove:false,fixed:true},'<h2>Привет, $USERNAME$!</h2>Тут будет текст для новых пользователей.'); //350 - ширина, 400 - длинна, заголовок без html, в тексте html и спецоператоры юкоз применять можно (скобки использовать только двойные), modal - затемнение (true или false), fixed - прокручивается вместе со страницей, nomove - разрешение на перемещение i++; set_cookie("opening", i, year, month, day, "/"); } } </script><?endif?> Скрипт получился жирный, поэтому его лучше убрать в отдельный файл. Для этого копируем скрипт, зажатый между тегами <script language="javascript> и </script>, создаем файл *.txt, через блокнот копируем туда код и сохраняем, меняем расширение на *.js, заливаем на сайт. Перед </body> вставляем это: Код <?if($USER_LOGGED_IN$)?><script language="javascript" src="путь к вашему файлу"></script><?endif?> Можно было проще, но тут похоже только изображения можно прикреплять Ну и если будете эксперементировать, то чтобы скрипт снова срабатывал без существенного ковыряния в нем и выжидания дня, нужно удалить созданное значение cookie, для этого CTRL+U (если у вас опера, в других браузеров без плагинов код не редактируется), после <head> вставляем такой скрипт: Код <script language="javascript"> setTimeout('delete_cookie("opening")', 1); function delete_cookie ( cookie_name ) { var cookie_date = new Date ( ); // Текущая дата и время cookie_date.setTime ( cookie_date.getTime() - 1 ); document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString(); } </script> Или вставляем этот скрипт в шаблоне вместо скрипта показа, но тогда у тех кто зайдет на сайт это значение удалится тоже, что приведет к еще одному срабатыванию скрипта показа (если его потом вставить). Сообщение отредактировал starlayt - Вторник, 15 Янв 2013, 02:50:18
|
| |||
| |||