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

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

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

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

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

'UA': {
town: ["Киев", "Харьков", "Одесса", "Днепропетровск", "Донецк", "Запорожье", "Львов", "Кривой Рог", "Николаев", "Мариуполь", "Луганск", "Винница", "Макеевка", "Херсон", "Полтава", "Чернигов", "Черкассы", "Житомир", "Сумы", "Хмельницкий", "Черновцы", "Ровно", "Днепродзержинск", "Кировоград", "Ивано-Франковск", "Кременчуг", "Тернополь", "Луцк", "Белая Церковь", "Краматорск"],
people_name: {
woman: ['Татьяна', 'Лиза', 'Алла', 'Наталья', 'Ксения', 'Оксана', 'Юлия', 'Ольга', 'Екатерина', 'Руслана', 'Любовь'],
man: ["Сергей", "Леша", "Алексей", "Николай", "Александр", "Павел", "Паша", "Дима", "Дмитрий", "Женя", "Евгений", "Слава", "Святослав", "Андрей", "Антон", "Артем", "Геннадий", "Макс", "Максим", "Олег", "Виктор", "Роман", "Рома", "Денис", "Руслан", "Вадим", "Костя", "Влад", "Владислав", "Марат", "Юрий"]
},
img: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAcUlEQVR42u3aMQHAMADDs KAYf0KFUCC7UiDRYQK6nbZZLgAAAAAAAAAAAAAAjAMkp0sBAAAAAAAAAAAAAAAAAAAAAAAAALAO8N+vS wEAAAAAAAAAAAAAAAAAAAAAAAAAsA7gFAUAAAAAAAAAAAAAYKoHyOHoWIZhLHEAAAAASUVORK5CYII=' ,
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2016, 17:04
Ответы с готовыми решениями:

Нужен совет по Python скрипту для GL868 Telit
Доброго времени суток! Пишу скрипт для Telit GL868-Dual V3 Не работает команд...

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

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

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

9
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:10 2
Math.random говорит, что сообщения формируются случайно.
1
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 17:17  [ТС] 3
Но как-то же он может определять место жительства пользователя? Ни разу не отображался, к примеру, заказчик из Грузии или Казахстана (а они в полном коде есть, города и имена)
0
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:20 4
Цитата Сообщение от Jumanji Посмотреть сообщение
Но как-то же он может определять место жительства пользователя
Нет. Города, текст и имена генерерятся рандомно(случайно)
1
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 17:26  [ТС] 5
Хмм. Пытался упростить код только до региона RU, немного изменил его, вставил на свой сайт.
Результаты:
1 - никакой плавной анимации
2 - коряво отображается
3 - что уж там говорить о генераторе. остался только каркас " из г. совершил заказ"
Как сделать?
(js скоро с ума сведет )
0
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 17:35 6
не зачем генерировать на клиенте даннй контент
так любой пользователь мало мальский разбирающийся как нажать 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
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 4
04.08.2016, 18:46  [ТС] 7
Задумаюсь, мерси
0
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
04.08.2016, 22:42 8
Цитата Сообщение от Jumanji Посмотреть сообщение
Насколько я понимаю, этот скрипт как-то отслеживает местоположение пользователя и показывает ему, что его соотечественник сделал заказ.
Просто обращается к сервису который извлекает геоданные. Например, есть вот такой https://www.maxmind.com/ru/home
API для него.
Думаю что соотечественник берется из бд данного сервиса т.е. я надеюсь что он не генерируется.
0
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
04.08.2016, 23:00 9
Padimanskas,
Цитата Сообщение от Padimanskas Посмотреть сообщение
т.е. я надеюсь что он не генерируется.
код смотрел??? (Кликните здесь для просмотра всего текста -< первое сообщение)
нет шансов у твоих надежд
0
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.08.2016, 00:25 10
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
код смотрел??? (Кликните здесь для просмотра всего текста -< первое сообщение)
нет шансов у твоих надежд
не открывал. логично черт побери )
0
05.08.2016, 00:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2016, 00:25
Помогаю со студенческими работами здесь

Нужен совет
Всем доброго времени суток. Имею данное железо: Мать: Asus M2n-E Проц: Amd athlon 64 x2 dual...

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

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

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

Нужен совет.
Здравствуйте. Вот такая история. Сайт находился на народе. Имелись страницы на русском, финском и...

Нужен совет
Здравствуйте программисты! Дайте пожалуйста если кто знает ссылку книги по Visual Studio 2005 по...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru