С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для Jumanji
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4

Нужен совет по скрипту!

04.08.2016, 17:04. Показов 665. Ответов 9

Студворк — интернет-сервис помощи студентам
Привет всем, уважаемые форумчане! Если кому не лень, прошу с советов С:
Дело вот в чем. Захотел на свой сайт разместить эдакое всплывающее окошко, которое показывает следующую инфу:
"Name из города N только что совершил заказ". Нашел, значит, сайт, где есть подобная штука. Вот сам сайт (добавлен в ЧС поисковика из-за мошенничества этой конторы). Скопировал его с помощью Wget, отыскал сам код всплывающего уведомления (код в спойлере).
Кликните здесь для просмотра всего текста
<script type="text/javascript">/**

var arr_buyer = {
'RU': {
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA ABACAYAAACqaXHeAAAAa0lEQVR42u3QwQkAMAgAM fdf2hYc4yIc6NPM7k659PMAAAAAAAAAAAAAAFy1A QAAAAAAAAAAAAAAAIC/zF2VAAAAAAAAAAAAAAAAAODqCQAAAAAAAAAAAAAA AAAAgGwAAAAAAAAAAAAAAER72yqN3ef7lPIAAAAA SUVORK5CYII=',
town: ["Москва", "Воронеж", "Санкт-Петербург", "Новосибирск", "Екатеринбург", "Нижний Новгород", "Казань", "Челябинск", "Омск", "Самара", "Ростов-на-Дону", "Уфа", "Красноярск", "Пермь", "Волгоград", "Саратов", "Краснодар", "Тольятти", "Тюмень", "Ижевск", "Хабаровск", "Владивосток", "Оренбург", "Пенза"],
people_name: {
man: ["Сергей", "Леша", "Алексей", "Николай", "Александр", "Павел", "Паша", "Дима", "Дмитрий", "Женя", "Евгений", "Слава", "Святослав", "Андрей", "Антон", "Артем", "Геннадий", "Макс", "Максим", "Олег", "Виктор", "Роман", "Рома", "Денис", "Руслан", "Вадим", "Костя", "Влад", "Владислав", "Марат", "Юрий"],
woman: ['Татьяна', 'Лиза', 'Алла', 'Наталья', 'Ксения', 'Оксана', 'Юлия', 'Ольга', 'Екатерина', 'Руслана', 'Любовь']
},

'UA': {
town: ["Киев", "Харьков", "Одесса", "Днепропетровск", "Донецк", "Запорожье", "Львов", "Кривой Рог", "Николаев", "Мариуполь", "Луганск", "Винница", "Макеевка", "Херсон", "Полтава", "Чернигов", "Черкассы", "Житомир", "Сумы", "Хмельницкий", "Черновцы", "Ровно", "Днепродзержинск", "Кировоград", "Ивано-Франковск", "Кременчуг", "Тернополь", "Луцк", "Белая Церковь", "Краматорск"],
people_name: {
woman: ['Татьяна', 'Лиза', 'Алла', 'Наталья', 'Ксения', 'Оксана', 'Юлия', 'Ольга', 'Екатерина', 'Руслана', 'Любовь'],
man: ["Сергей", "Леша", "Алексей", "Николай", "Александр", "Павел", "Паша", "Дима", "Дмитрий", "Женя", "Евгений", "Слава", "Святослав", "Андрей", "Антон", "Артем", "Геннадий", "Макс", "Максим", "Олег", "Виктор", "Роман", "Рома", "Денис", "Руслан", "Вадим", "Костя", "Влад", "Владислав", "Марат", "Юрий"]
},
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA ABACAYAAACqaXHeAAAAcUlEQVR42u3aMQHAMADDs KAYf0KFUCC7UiDRYQK6nbZZLgAAAAAAAAAAAAAAj AMkp0sBAAAAAAAAAAAAAAAAAAAAAAAAALAO8N+vS wEAAAAAAAAAAAAAAAAAAAAAAAAAsA7gFAUAAAAAA AAAAAAAYKoHyOHoWIZhLHEAAAAASUVORK5CYII=' ,
cursePrice: '15 грн.'
},
(код слегка урезал. Было еще куча регионов в таком же порядке)
};

$(document).ready(function () {
init();

$('.freezing-close').on('click', function (e) {
e.preventDefault();
$('.freezing-wrap').addClass('freezing-hide');
});

});

var buyerCounter;

var init = function () {
var cnr = $('#country').val();
buyerCounter = 18;

// var countryPrice = $('.dynamic-freezing-info--price');

if (cnr)
$('span.dynamic-freezing-info--price').text(arr_buyer[cnr].cursePrice);
else
$('span.dynamic-freezing-info--price').text(arr_buyer['RU'].cursePrice);

buyed(cnr);

setTimeout(function () {
$('.freezing-wrap').addClass('freezing-active');
}, 2000);

};

var buyed = function (cnr) {
var timeInterval = setTimeout(function tInterval() {

var lengthTown = arr_buyer[cnr].town.length;

if (typeof woman !== 'undefined' && woman == 1) {
var id = 'woman';
$("span.freez_oformila").text('оформила' );
}
else {
var id = 'man';
}
var lengthName = arr_buyer[cnr].people_name[id].length;

var buyerName = getRandomInt(0, lengthName - 1);
var buyerTown = getRandomInt(0, lengthTown - 1);

buyerCounter--;

$('.freezing-buyer--name').text(arr_buyer[cnr].people_name[id][buyerName]);
$('.freezing-buyer--town').text(arr_buyer[cnr].town[buyerTown]);
//$('.freezing-buyer--flag').removeClass().addClass('new-flag');
$('.freezing-buyer--flag').attr('style', 'background: url(\'' + arr_buyer[cnr].img + '\'); background-size: cover; margin-top: -5px; margin-left: 5px;');
//$('.freezing-buyer--flag').removeClass().addClass("freezing-buyer--flag " + arr_buyer.cnr.class_flag[0]);
$('.packages-count').text(buyerCounter);

$('.freezing-buyer').addClass('freezing-buyer--show');

setTimeout(function () {
$('.freezing-buyer').removeClass('freezing-buyer--show');
}, 5000);

var randInterval = getRandomInt(12, 19);

if (buyerCounter > 4) {
timeInterval = setTimeout(tInterval, randInterval * 1000);
}

}, 8000);
};

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
</script><div class="freezing-wrap">
<div class="freezing-info">
<div class="freezing-info--title">Мы заморозили цену!</div>
<div class="freezing-info--price">1$ = <span class="dynamic-freezing-info--price"></span></div>
<div class="freezing-info--packages">Осталось <span class="packages-count">18</span> штук <br>по старому курсу</div>
<a href="dis/index.html#close" class="freezing-close"></a>
</div>

<div class="freezing-buyer">
<div class="freezing-buyer-prod-img">
<!-- <img src="product" alt=""> -->
</div>
<div class="freezing-buyer-info">
<div class="dynamic-info">
<span class="freezing-buyer--name"></span>,
г. <span class="freezing-buyer--town"></span>
<span class="freezing-buyer--flag"></span>
</div>
Только что <span class="freez_oformila">оформил</span> заказ.
</div>
</div>
</div>

Насколько я понимаю, этот скрипт как-то отслеживает местоположение пользователя и показывает ему, что его соотечественник сделал заказ.
Как упростить этот скрипт, чтобы из списка name и town показывался рандомный заказчик?
Миниатюры
Нужен совет по скрипту!  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.08.2016, 17:04
Ответы с готовыми решениями:

Нужен совет по Python скрипту для GL868 Telit
Доброго времени суток! Пишу скрипт для Telit GL868-Dual V3 Не работает команд MDM.send('AT+CPBW=50,' + str(abonent) +...

Нужен совет
Читаю книгу Герберта Шилдта &quot;Java руководство для начинающего&quot; Есть пример программы, которая отображает таблицу истинности для...

Нужен совет
Попалось ду, не знаю как решить. 3y'+y^2+2/x^2=0 Видимо нужна замена, чтобы привести его к ур-ию Бернулли, но что-то никаких идей...

9
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:10
Math.random говорит, что сообщения формируются случайно.
1
 Аватар для Jumanji
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 17:17  [ТС]
Но как-то же он может определять место жительства пользователя? Ни разу не отображался, к примеру, заказчик из Грузии или Казахстана (а они в полном коде есть, города и имена)
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:20
Цитата Сообщение от Jumanji Посмотреть сообщение
Но как-то же он может определять место жительства пользователя
Нет. Города, текст и имена генерерятся рандомно(случайно)
1
 Аватар для Jumanji
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 17:26  [ТС]
Хмм. Пытался упростить код только до региона RU, немного изменил его, вставил на свой сайт.
Результаты:
1 - никакой плавной анимации
2 - коряво отображается
3 - что уж там говорить о генераторе. остался только каркас " из г. совершил заказ"
Как сделать?
(js скоро с ума сведет )
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:35
не зачем генерировать на клиенте даннй контент
так любой пользователь мало мальский разбирающийся как нажать Ctrl + U для просмотра исходного кода вас разоблачит
иное дело делать подобное на сервере и уже отдавать сгенерированный контент
пример php
PHP
1
2
3
4
5
6
$str = "Наш (сайт | проект | магазин | интернет магазин | мегапупс) (предлагает | рекомендует | советует) вам (селёдочку | колбаску | водочку | грибочки | огурчики)";
 
echo preg_replace_callback('/\((.*?)\)/', function ($matches) {
    $arr = explode('|', $matches[1]);
    return trim($arr[array_rand($arr)]);
}, $str);
1-2 пункт может зависить от подключенного css /dis/css/index.css
0
 Аватар для Jumanji
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 18:46  [ТС]
Задумаюсь, мерси
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
04.08.2016, 22:42
Цитата Сообщение от Jumanji Посмотреть сообщение
Насколько я понимаю, этот скрипт как-то отслеживает местоположение пользователя и показывает ему, что его соотечественник сделал заказ.
Просто обращается к сервису который извлекает геоданные. Например, есть вот такой https://www.maxmind.com/ru/home
API для него.
Думаю что соотечественник берется из бд данного сервиса т.е. я надеюсь что он не генерируется.
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 23:00
Padimanskas,
Цитата Сообщение от Padimanskas Посмотреть сообщение
т.е. я надеюсь что он не генерируется.
код смотрел??? (Кликните здесь для просмотра всего текста -< первое сообщение)
нет шансов у твоих надежд
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.08.2016, 00:25
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
код смотрел??? (Кликните здесь для просмотра всего текста -< первое сообщение)
нет шансов у твоих надежд
не открывал. логично черт побери )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2016, 00:25
Помогаю со студенческими работами здесь

Нужен совет
Здравствуйте, Я хотел бы посоветоваться со знающими людьми по поводу создания сайта. Наверное начну с того, что мы с другом решили...

Нужен совет
Всем доброго времени суток. Имею данное железо: Мать: Asus M2n-E Проц: Amd athlon 64 x2 dual core 5000+ (Разогнан до 2,94ггц) Озу:...

Нужен совет.
&lt;div&gt;В этом деле я совсем зеленый, несмотря на тонну проштудированной литературы, все собрать воедино не получается. Делаю свой...

Совет нужен!
Добрый день!! Искал по инету готовый модль для проведения тестирования сотрудников. так и не нашел. Решил свой написать. Задача...

Нужен совет
Всем привет. Мой пк. Проц i7 2600k мать ASUS h61 Операпива ddr3 8gb 1333 Видеокарта гигабайт gtx 980 Корпус in win g7 Блок...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru