Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321

Ротатор Flash баннеров

30.01.2013, 11:15. Показов 3272. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем!
На сайте нужно в одном месте крутить 3 Флэш баннера. Они должны сменяться при переходе посетителем на новую страницу или при обновлении.

Сейчас решаю это при помощи PHP. Рандомно выбирается цифра от 1 до 3, и если получилась цифра 1, то функцией include подставляется содержимое 1.txt, если 2 - то 2.txt и т.д.

Все вроде ничего, но иногда несколько раз выпадает одна цифра и крутится один баннер. Потом несколько раз может крутиться другой. Т.е. неправильно это.

В JS я не сильно силен, хотя много что на сайте работает с его помощью. Когда конкретно что-то нужно, то сижу до последнего разбираюсь. Вот сейчас снова такой случай.

Подскажите если кто знает, как организовать строгий по части показов ротатор баннеров в формате SWF?
Теоретически на PHP думаю можно через сессии отслеживать посетителя и каждому как-то это дело показывать, но не хочется грузить сервер тысячами сессий для каждого посетителя, да и стартовать сессию на всех страницах сайта ....

В общем, есть ли в JS аналог сессий PHP чтоб можно было отслеживать каждого посетителя, или как еще можно это дело сделать?

Очень буду благодарен советам знающих людей!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2013, 11:15
Ответы с готовыми решениями:

Ротатор баннеров на JavaScript
Ещё раз всем привет! Есть готовый ротатор баннеров для Dle 9.7 и работает на ура, вот только показывает 1 баннер=( Скрипт меняет в одном...

Есть ли какой-нибудь скрипт для подcчета кликов баннеров в формате flash?
Добрый день! Есть ли какой-нибудь скрипт для подcчета кликов баннеров в формате flash? Для gif легко получается подсчитать клики, но...

Ротатор баннеров
Здравствуйте, помогите пожалуйста создать ротатор баннеров, чтобы картинки пусть их будет хоть 5, хоть 10 и активны ссылки на них, если...

13
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
30.01.2013, 13:12
можно вот так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<html>
<head>
    <title></title>
</head>
<body>
<div id="baners_block">
</div>
<script type="text/javascript">
/* Функция установки значения печенькам (можно использовать jQuery-cookie, но я привык к родному)*/
function setCookie (name, value, expires, path, domain, secure) 
{
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
/* Получение значения печеньков.*/
function getCookie(name) 
{
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) 
    {
        offset = cookie.indexOf(search);
        if (offset != -1) 
        {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) 
            {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
}
 
 var baners = new Array(/*Массив банеров, html код, элементы object или embed, или другие любые элементы*/);
     
 var data_cookie = parseInt(getCookie('baner_id')); 
 var cookie_baner_id = (data_cookie < baners.length) ? data_cookie : (baners.length-1); 
 if(isNaN(cookie_baner_id)) 
 {
    cookie_baner_id = 0;
    setCookie('baner_id', '0');
 }
 
 if(cookie_baner_id >= (baners.length-1))
    setCookie('baner_id', '0');
 else setCookie('baner_id', (cookie_baner_id+1).toString());
 
 document.getElementById('baners_block').innerHTML = baners[cookie_baner_id];
</script>
 
</body>
</html>
2
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
30.01.2013, 17:20  [ТС]
Vlad_IT, спасибо, попробую разобраться...
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
31.01.2013, 20:46  [ТС]
Vlad_IT, проверил, работает на УРА! Еще раз спасибо!
Подскажи, нет возможности сейчас тестить в разных браузерах, работает во всех или есть какие-нибудь баги?
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
01.02.2013, 00:42
Lion_astana,
Цитата Сообщение от Lion_astana Посмотреть сообщение
Подскажи, нет возможности сейчас тестить в разных браузерах, работает во всех или есть какие-нибудь баги?
Протестил. Работает в IE 5.5+, Google Chrome 24 (думаю даже с первой версии работать будет, так как это же хорм), в Mozilla 18, Netsape 9 (хотя впрочем это не важно, так, для прикола проверил), Android Browser. Проблем быть не должно, так как код по требованиям достаточно простой, по этому работает даже в IE 5.5.
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
24.02.2013, 16:40  [ТС]
Vlad_IT, добрый день.
Возникла проблема: Ваш код для ротации баннеров отлично работает если страницы сайта такие:
site.ru/
site.ru/1.php
site.ru/2.php
site.ru/что-то.php...

А вто если вышеуказанные адреса сменяются такими:
site.ru/111/222/d.php
site.ru/4rtr/rrew/g/
и прочее, то один баннер может показываться на нескольких страницах и не меняться.

В JS понимаю мало, как можно поправить Ваш код чтобы не было разницы в адресе, чтобы баннеры всегда сменялись строго?

Очень буду благодарен!
Спасибо!
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
24.02.2013, 16:47
Lion_astana, странно. Покажите мне пример одного кода баннера. Кажется Вы просто не так его встраиваете. Так как код работает даже с другими доменами.
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
24.02.2013, 17:21  [ТС]
Vlad_IT, скинул адрес в личку.
Там пощелкайте слева пункты "О компании", "прайс-лист", "Галерея", "Контакты".

Очень часто баннеры не меняются, а несколько раз показывается один и тот же.
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
24.02.2013, 19:26
Lion_astana, мной была допущена ошибка, в функции установки кукисов, точнее при ее вызове, не был указан путь для сохранения. То есть, для каждой папки (например \index.php - \folder\ - \folder2\), куки сохранялись индивидуально. Перепишите функцию setCookie, в

JavaScript
1
2
3
4
function setCookie (name, value) 
{
      document.cookie = name + "=" + escape(value) + "; path=/";
}
Полный код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<html>
<head>
    <title></title>
</head>
<body>
<div id="baners_block">
</div>
<script type="text/javascript">
<html>
<head>
    <title></title>
</head>
<body>
<div id="baners_block">
</div>
<script type="text/javascript">
function setCookie (name, value) 
{
      document.cookie = name + "=" + escape(value) + "; path=/";
}
function getCookie(name) 
{
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) 
    {
        offset = cookie.indexOf(search);
        if (offset != -1) 
        {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) 
            {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
}
 
 var baners = new Array("1","2","3");
     
 var data_cookie = parseInt(getCookie('banerId')); 
 var cookie_baner_id = (data_cookie < baners.length) ? data_cookie : (baners.length-1); 
 if(isNaN(cookie_baner_id)) 
 {
    cookie_baner_id = 0;
    setCookie('banerId', '0');
 }
 
 if(cookie_baner_id >= (baners.length-1))
    setCookie('banerId', '0');
 else setCookie('banerId', (cookie_baner_id+1).toString());
 
 document.getElementById('baners_block').innerHTML = baners[cookie_baner_id];
</script>
</body>
</html>
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
24.02.2013, 19:54  [ТС]
Vlad_IT, Изменил, ничего не изменилось. По-моему, еще хуже стало. По 5 раз может один и тот же баннер показываться...
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
24.02.2013, 20:12
Lion_astana, а если так?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<html>
<head>
    <title></title>
</head>
<body>
<div id="baners_block">
</div>
<script type="text/javascript">
function setCookie(name,value) 
{
    document.cookie = name+"="+value+"; path=/";
}
function getCookie (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;
}
 
 var baners = new Array("<b>1</b>","<b>2</b>","<b>3</b>");
     
 var data_cookie = parseInt(getCookie('banerId')); 
 var cookie_baner_id = (data_cookie < baners.length) ? data_cookie : (baners.length-1); 
 if(isNaN(cookie_baner_id)) 
 {
    cookie_baner_id = 0;
    setCookie('banerId', '0');
 }
 
 if(cookie_baner_id >= (baners.length-1))
    setCookie('banerId', '0');
 else setCookie('banerId', (cookie_baner_id+1).toString());
 
 document.getElementById('baners_block').innerHTML = baners[cookie_baner_id]; 
</script>
</body>
</html>
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
24.02.2013, 20:20  [ТС]
Vlad_IT, без изменений. Можете по ссылке которую я вам отправил взглянуть, если по пунктам меню у компании побегать, то сразу видно что ротация далеко не правильно работает.
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
24.02.2013, 20:28
Цитата Сообщение от Lion_astana Посмотреть сообщение
Vlad_IT, без изменений. Можете по ссылке которую я вам отправил взглянуть, если по пунктам меню у компании побегать, то сразу видно что ротация далеко не правильно работает.
Попробуйте очистить в своем браузере кукисы, или же измените название ключу номера банера, с "baner_id", на другой какой-нибудь, например "banerId"
1
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
24.02.2013, 20:45  [ТС]
Vlad_IT, Что-то и не подумал куки удалить с браузера...
Спасибо большое, очень помог!!!!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2013, 20:45
Помогаю со студенческими работами здесь

Как сделать ротатор баннеров
Добра всем! Есть ссылка вида (не реклама) если открыть в браузере появиться изображение. Если обновить - другое. Это ротатор. ...

Менеджер или ротатор баннеров простой пользователю
Ищу плагин или решение через редактирования php. Нужен менеджер баннеров для простого пользователи для размещения баннеров в области...

Ротатор
Здравствуйте Всем! Нашёл вот такой простенький скрипт: $(document).ready(function(){ ...

Ротатор банеров
Подскажите код или скрипт, простого ротатора банеров

Дописать ротатор
При написаний ротатора на javascript с библиотекой jquery возникли проблемы, первая половина далась легко, а вот со второй есть проблемы,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru