Вход

Просмотр полной версии : Рандомная подгрузка файлов


ozhenya
26.03.2015, 16:22
Добрый день, ребята!
Возникла задача :
На сайте должно появляться изображение, рандомно, не по времени. То есть, с каким-то шансом у каждого пользователя должно подгужаться на страницу это изображение. Это вообще возможно? Заранее благодарен:)

tsigel
26.03.2015, 16:50
alert(Math.floor(Math.random() * (2))?"Вам повезло!":"Вам не повезло!");

ozhenya
26.03.2015, 18:53
спасибо за ответ, но как сделать так, чтобы возможность данная была только 1 у одного человека?

laimas
26.03.2015, 18:55
>как сделать так, чтобы возможность данная была только 1 у одного человека?

А у вас хватит картинок на все человечество? :) Или что имеется ввиду под одним человеком?

ozhenya
26.03.2015, 18:57
>как сделать так, чтобы возможность данная была только 1 у одного человека?

А у вас хватит картинок на все человечество? :) Или что имеется ввиду под одним человеком?

Ну вот смотрите:
Зашёл человек на сайт, если ему повезло - подгружается картинка, с каким-то шансом, но такой шанс только один должен быть на 1 день, то есть, если он будет рефрешить страницу - то шанса уже не будет сегодня, а завтра - то же самое

ozhenya
26.03.2015, 18:59
Ну вот смотрите:
Зашёл человек на сайт, если ему повезло - подгружается картинка, с каким-то шансом, но такой шанс только один должен быть на 1 день, то есть, если он будет рефрешить страницу - то шанса уже не будет сегодня, а завтра - то же самое

Это должно работать для каждого человека

laimas
26.03.2015, 19:07
Тогда на основе временной метки надо строить все, иначе гарантии что не повториться нет. Предложенное же вообще выдает всего два значения, это пример, не более.

ozhenya
26.03.2015, 19:16
А поподробнее можно? Буду очень признателен

laimas
26.03.2015, 19:23
Сперва поясните, что за картинки, то есть, что означает "индивидуальность" каждый день или любой иной отрезок времени?

ozhenya
26.03.2015, 19:47
Всё от начала:
Заходит человек на сайт, совершать какие-либо действия. Если ему улыбнётся удача - прогрузиться та самая картинка( должен быть какой-то шанс на это ) , если нет - то нет. То есть, это должно происходить для одного человека при первом же заходе на сайт, при последующих - такой вероятности не существует. Как-то так

laimas
26.03.2015, 20:10
Немножко не поняли вы, или я не так выразился. Картинки ведь могут быть на сайте, а могут и не быть физически, и они формируются на лету посредством GD.

Что определяет это число, некую картинку, то есть если число равно М, то будет показано, если не равно, значит нет?

Или этим вы хотите определить был ли уже пользователь у вас или нет?

Что из этого вам нужно?

ozhenya
26.03.2015, 20:47
Немножко не поняли вы, или я не так выразился. Картинки ведь могут быть на сайте, а могут и не быть физически, и они формируются на лету посредством GD.

Что определяет это число, некую картинку, то есть если число равно М, то будет показано, если не равно, значит нет?

Или этим вы хотите определить был ли уже пользователь у вас или нет?

Что из этого вам нужно?

Первый вариант) Работает как определитель удачи для человека)
Вот зашёл пользователь на сайт с каким-то шансом она может выскочить, и если выскочит - то человеку повезло) Только это должно выполняться с одним условием, что шанс такой есть только при первом визите на сайт, в день ( для каждого человека )
Очень тяжело объяснить суть( извините за это)

tsigel
26.03.2015, 20:54
Ну можно делать рандом от 1 до 100 и если например выпало число больше 90 то показывать картинку. Ну и незааисимо от результата записывать в сторадж или куку сегодняшнее число. И если в сторадже или куке есть число и оно сегодняшнее то не разыгрываем.

tsigel
26.03.2015, 20:55
Так?

laimas
26.03.2015, 21:05
Что-то не получается только "первое", ибо:

>шанс такой есть только при первом визите на сайт

Никаким случайным числом этого определить нельзя. Был у вас уже пользователь или нет, можно определить только установкой ему куки, но ее можно удалить, или зайдя после ее время действия стать опять "новичком". Можно записать признак новый/старый в локальное хранилище, но тоже могут быть разные "если". С регистрированными пользователями с этим проблем не будет.

А вот определение удачи (первое), и тем более по первому заходу, а значит один раз, должен генерировать сервер.

ozhenya
26.03.2015, 21:47
Что-то не получается только "первое", ибо:

>шанс такой есть только при первом визите на сайт

Никаким случайным числом этого определить нельзя. Был у вас уже пользователь или нет, можно определить только установкой ему куки, но ее можно удалить, или зайдя после ее время действия стать опять "новичком". Можно записать признак новый/старый в локальное хранилище, но тоже могут быть разные "если". С регистрированными пользователями с этим проблем не будет.

А вот определение удачи (первое), и тем более по первому заходу, а значит один раз, должен генерировать сервер.

Огожсебе, даже не знаю, как это сделать(

laimas
26.03.2015, 22:26
Что именно?

Если пользователь запоминается в куках, учитывая, что это не 100% гарантия идентификации клиента зашедшего впервые, то кости может бросать север.

Если запоминать пользователя в локальном хранилище, значит кости бросать должен клиент, отправляя результат серверу.

В любом из этих случаев сервер должен знать выигрышный результат броска.

Вот с идентификацией, это сложнее. Хотя кроме кук, есть еще по чем можно судить кто есть кто. Здесь есть об этом (http://javascript.ru/unsorted/id), ну и для "интереса" можно это почитать (http://habrahabr.ru/post/230679/).