|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » скрипт показывающий баннер на определенной странице |
|
|
скрипт показывающий баннер на определенной странице
|
Старожил Сообщения: 282 |
Профиль | Сайт | Отправить PM | Цитировать всем привет.
нужна помощь зала дано: имеется форум YaBB2.1 в котором есть единый шаблон хтмл оформления в формате html. задача: нужно повесить баннер (флешевую растяжку) но только в один раздел форума. собственно я не придумал ничего лучше чем поставить яваскрипт в шаблон форума который бы определял в каком разделе находится пользователь и, если это нужный раздел, то показывал бы баннер. а в других разделах соответственно - не показывал. разделы форума делятся по их названиям в строке эксплорера. то есть есть раздел www.сайт.ru/forum/YaBB.cgi?board=admin и все темы в этом разделе идут как www.сайт.ru/forum/YaBB.cgi?board=admin;num=1193739447 и тут встает главный вопрос как этот скрипт написать если в яваскрипте ни бум-бум спасите, помогите |
|
------- Отправлено: 14:06, 28-05-2008 |
Старожил Сообщения: 313
|
Профиль | Отправить PM | Цитировать ну можно что нить в этом духе, жаль потестироват не могу. Где алерты надо поменять на вставку банера
<html><head> <script type="text/javascript"> var params=document.URL.split("?")[1]; var part = ''; if (params != null ) { try { var part=params.split(";")[0].split("=")[1]; } catch (e) {} } switch (part) { case "admin" : alert("раздел = admin"); break; default: alert("неизвестный раздел"); } </script> </head><body></body></html> |
Отправлено: 16:14, 28-05-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать
Разъясняю вкратце: document.location - значение, написанное в адресной строке document.location.search - то, что в адресе после знака "?" (включая сам вопросительный знак) строка.indexOf('подстрока') - возвращает вхождение 'подстроки' в строку. Если строка не найдена, возвращает -1. Т.е. мы проверяем, если в адресе после знака "?" есть строка 'board=admin', то в элемент <div id="placeForBanner"></div> вставляем соответствующий код баннера. Соответственно, там, где строки нет, баннер вставлять не надо. Насчёт вставки скрипта в нужное место - сами разберётесь? |
Отправлено: 16:17, 28-05-2008 | #3 |
Старожил Сообщения: 282
|
Профиль | Сайт | Отправить PM | Цитировать Coutty,
думал что разберусь но не тут то было я воткнул ваш код прямо в место где по идее должен быть баннер пробовал на гифе. я так понял нет разницы какой код хтмл будет вызываться. <script> if (document.location.search.indexOf('board=admin') != -1) { document.getElementById('placeForBanner').innerHTML = "<img src="http://www.сайт.ru/banners/468_60_rus2.gif">"; } </script> в итоге баннера нет. но есть предупреждение: строка 34 символ 68 "предполагается наличие ";"" код 0 в 34 строке в хтмл странице следующее: document.getElementById('placeForBanner').innerHTML = "<img src="http://www.logist.ru/banners/468_60_rus2.gif">"; ******************** bruder, сори я не понял куда вставлять код баннера точнее вместо чего. alert("раздел = admin"); вместо раздел=админ? |
------- Отправлено: 17:13, 28-05-2008 | #4 |
Старожил Сообщения: 313
|
Профиль | Отправить PM | Цитировать если вам не нужно детальное выделение параметров, то у Coutty конечно решение короче им и воспользуйтесь.
placeForBanner это id вашего елемента в котором будет находится баннер |
|
Отправлено: 17:43, 28-05-2008 | #5 |
Старожил Сообщения: 282
|
Профиль | Сайт | Отправить PM | Цитировать опробовал вариант такой:
<script> if (document.location.search.indexOf('board=admin') != -1) { document.getElementById('placeForBanner').innerHTML = "<img src="http://www.сайт.ru/banners/468_60_rus2.gif">"; } </script> скрипт поставил в хеад а в боди поставил <div id="placeForBanner"></div> итог тот же но ошибка другая: строка 30 символ 3 document.getElementById(...) есть нулл или не является объектом код 0 bruder, честно говоря я с удовольствием разобрался бы в обоих вариантах чисто для себя |
------- Отправлено: 17:45, 28-05-2008 | #6 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Цитата koresaram:
Цитата koresaram:
document.getElementById('placeForBanner').innerHTML = '<img src="http://www.сайт.ru/banners/468_60_rus2.gif">'; Либо так: document.getElementById('placeForBanner').innerHTML = "<img src='http://www.сайт.ru/banners/468_60_rus2.gif'>"; Либо так: document.getElementById('placeForBanner').innerHTML = "<img src=\"http://www.сайт.ru/banners/468_60_rus2.gif\">"; Либо иным способом Цитата koresaram:
Вместо div'а, видимо, можно и <p> использовать. |
|||
Отправлено: 18:04, 28-05-2008 | #7 |
Старожил Сообщения: 313
|
Профиль | Отправить PM | Цитировать поставте этот скрипт внизу страницы, потому как елемент еще не загружен. Или поместите в функцию и свяжите с window.onload в хедере
window.onload = ваша_функция; |
Отправлено: 18:07, 28-05-2008 | #8 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать При таком подходе баннер будет загружаться после полной загрузки страницы. Вот ещё решение (не проверял - т.к. лениво ):
По идее, document.write вписывает то, что надо в то место, где он используется. Но синтаксис не припомню - то ли document.write("текст"), то ли document.write = "текст"... Соответственно, здесь баннер начинает загружаться сразу после того, как загрузился скрипт. |
Отправлено: 18:17, 28-05-2008 | #9 |
Старожил Сообщения: 282
|
Профиль | Сайт | Отправить PM | Цитировать Coutty, про двойные кавычки и обратный слеш я думал(имеется мизерный опыт в перле но их замена ничего не давала ) дело было в очереди загрузки и все заработало спасибо!
дополнительный вопрос: а если надо будет чтобы баннер показывался в трех разделах из 10? тогда как быть? добавить в условие через точку с запятой боард=клуб и т.д. или как? bruder, а можно ваш метод тоже в подробном виде как у Коутти? с описанием построчным и кодом? |
------- Отправлено: 18:34, 28-05-2008 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Скрипт для удаления старых файлов и папок из определенной папки | avfiga | Скриптовые языки администрирования Windows | 71 | 07-01-2023 18:50 | |
Вопрос - Как убрать баннер? | Леха500 | Защита компьютерных систем | 9 | 02-01-2011 17:43 | |
[решено] SMS Баннер | mithell | Лечение систем от вредоносных программ | 2 | 21-01-2010 10:11 | |
Порно баннер | burundook | Лечение систем от вредоносных программ | 1 | 18-09-2009 21:30 | |
Заценим баннер | BigMac | О сайте и форуме | 60 | 30-01-2003 13:55 |
|