База данных RO, добавление фишеГ и вылавливание багоФ

Обсуждение сервисов, доступных на базе нашего форума: баз мерчей, онлайнового руководства, торгового центра.

Модератор: 4epT

Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

это мой косяк, будет исправлено

кстати, раз уж тут собрались мегаотцы всех подряд языков программирования, хочу задать вопрос - кто-нить знает как записать в страницу джаваскриптовский код?

Бегун для отображения рекламы на хтмле выдает вот такой код

Код: Выделить всё

<script src='http://autocontext.begun.ru/autocontext.js' type='text/javascript'></script>
Вобщем, мне хотелось бы по какому-то условию (по значению переменной, допустим) вставить в хтмл-страницу код рекламки (с бегуна, например). Если переменная=0, то пусть этого кода на странице не будет и реклама не будет отображаться. Если же она=1, тогда будет.

==========================
я пытался сделать так:

где-то в хтмл-странице есть допустим таблица следующего вида

Код: Выделить всё

<table><tr>
<td id="adv"> 
</td>
</td></tr></table>
ниже идет такой блок

Код: Выделить всё

<script type="text/javascript">
document.getElementById("adv").innerHTML="<script src='http://autocontext.begun.ru/autocontext2.js' type='text/javascript'></script>";
</script>
не получается так, не записывается джаваскриптовский блок (в данном случае ссылка на рекламу) в другой джаваскриптовский блок.
==========
подсказывали сделать так:

Код: Выделить всё

var script = document.createElement('script');
script.src = 'http://autocontext.begun.ru/autocontext2.js';
script.type = 'text/javascript';
document.getElementById("adv").appendChild(script);
блин, тоже не получается
Я не бот, я просто мозг отключил.
Аватара пользователя
Kissa2k
Профессионал
Сообщения: 1304
Зарегистрирован: Пн дек 04, 2006 8:33 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Kissa2k »

Tray писал(а):Вобщем, мне хотелось бы по какому-то условию (по значению переменной, допустим) вставить в хтмл-страницу код рекламки (с бегуна, например). Если переменная=0, то пусть этого кода на странице не будет и реклама не будет отображаться. Если же она=1, тогда будет.
Как насчет использования php? Это будет в разы проще.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение EternalHarvest »

Tray писал(а):

Код: Выделить всё

<script type="text/javascript">
document.getElementById("adv").innerHTML="<script src='http://autocontext.begun.ru/autocontext2.js' type='text/javascript'></script>";
</script>
Разбей закрывающий тэг?

Код: Выделить всё

"<script src='http://autocontext.begun.ru/autocontext2.js' type='text/javascript'></" + "script>"
Добавлено спустя 2 минуты 54 секунды:
И да, на стороне сервера это проще сделать.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

Разбей закрывающий тэг?
а какое это имеет влияние на процесс?

чем отличается надпись

Код: Выделить всё

"<script src='http://autocontext.begun.ru/autocontext2.js' type='text/javascript'></" + "script>"
от

Код: Выделить всё

<script src='http://autocontext.begun.ru/autocontext.js' type='text/javascript'></script>
я имею в виду, что это даст?
=================================

использовать пхп это конечно хорошая идея, если бы моя база изначально была бы написана с применением пхп, а не через жопу, как сейчас - отдельными хтмлами.

вообще, идея такая - я хочу, чтобы реклама отображалась в онлайн-базе, а в оффлайн-базе реклама отсутствовала, т.к. это будет нервировать юзеров.
просто сейчас реклама тока на главной странице, что приносит мне всего рублей 7 в день :) поэтому естесно, хотелось бы, чтобы она была на каждой странице...
Я не бот, я просто мозг отключил.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение EternalHarvest »

Tray писал(а):
Разбей закрывающий тэг?
а какое это имеет влияние на процесс?

чем отличается надпись

Код: Выделить всё

"<script src='http://autocontext.begun.ru/autocontext2.js' type='text/javascript'></" + "script>"
от

Код: Выделить всё

<script src='http://autocontext.begun.ru/autocontext.js' type='text/javascript'></script>
я имею в виду, что это даст?
Закрывающий тэг может восприниматься парсером HTML как конец скрипта.
http://www.google.com/search?q=document+write+script
Tray писал(а):использовать пхп это конечно хорошая идея, если бы моя база изначально была бы написана с применением пхп, а не через жопу, как сейчас - отдельными хтмлами
Может тогда стоит написать скрипт, парсящий твои отдельные хтмлки (чтоб существующую информацию сохранить), и переделать базу нормально? Не так сложно же.
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение kLabMouse »

print в помощь =))
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

Может тогда стоит написать скрипт, парсящий твои отдельные хтмлки (чтоб существующую информацию сохранить), и переделать базу нормально? Не так сложно же.
это же надо еще этот парсер создавать, кто ж это делать то будет, самому ужасно влом :)

EternalHarvest, спасибо тебе, ты мне помог. Что самое интересное, я задавал этот вопрос на сайте javascript.ru, там мне не смогли помочь :)
Я не бот, я просто мозг отключил.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение EternalHarvest »

Tray писал(а):это же надо еще этот парсер создавать, кто ж это делать то будет, самому ужасно влом :)
Чего там делать-то... цикл перебора файлов, одно регулярное выражение, и вывод в нужном формате или сразу запись в бд. Ну, может, будет несколько разных - если в разных "разделах" там у тебя разный формат.

Добавлено спустя 54 минуты 48 секунд:
EternalHarvest писал(а): Закрывающий тэг может восприниматься парсером HTML как конец скрипта.
Нормальное объяснение на W3C
When script or style data is the content of an element (SCRIPT and STYLE), the data begins immediately after the element start tag and ends at the first ETAGO ("</") delimiter followed by a name start character ([a-zA-Z]); note that this may not be the element's end tag. Authors should therefore escape "</" within the content. Escape mechanisms are specific to each scripting or style sheet language.
Так что это не только со </script>, но и вообще с любыми закрывающими тэгами.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

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

сначала var s=''
потом s=s+stroka (stroka - строка из хтмла)
и каждый раз при добавлении новой буквы к s просматривать s предмет вхождения в нее какого-то из тегов, что ли?
если нашли тег, записываем его содержимое в базу, обнуляем s и читаем хтмл-файл дальше посточно?

и что тут легко-то? это ж надо анализировать все хтмльные теги

возьмем тег <br> - даже такой простой тег может быть написан как <br>, < br>, <br /> и т.д.
и непонятно как анализировать...
Я не бот, я просто мозг отключил.
Аватара пользователя
Kissa2k
Профессионал
Сообщения: 1304
Зарегистрирован: Пн дек 04, 2006 8:33 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Kissa2k »

Не обязательно использовать js. Можно написать скрипт на perl или php, который в нужных тебе местах html файла вставит необходимый js-код.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

дык вставить js-код для меня не проблема, такую программулину я уже для себя написал - берет все файлы нужного мне формата из выбранной папки и меняет в них одну строку/строки на другую (ну тут я сам ставлю что заменить).

он же говорит, чтобы полностью перегнать базу, сделанную из хмтлов, в mysql, к примеру. а это уже проблема...
Я не бот, я просто мозг отключил.
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение kLabMouse »

Tray
Неуже-ли так сложно добавить команду Принт???
браузер уже сам розпарсит что ты от него хотел.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение EternalHarvest »

Tray писал(а):так, а если это выражение записано в несколько строк?
я не понимаю как это сделать если честно...

сначала var s=''
потом s=s+stroka (stroka - строка из хтмла)

Читаешь весь файл в одну строку, и потом один раз парсишь содержимое.
Tray писал(а):и каждый раз при добавлении новой буквы к s просматривать s предмет вхождения в нее какого-то из тегов, что ли?
если нашли тег, записываем его содержимое в базу, обнуляем s и читаем хтмл-файл дальше посточно?

Вообще не понял. Зачем "просматривать на предмет вхождения тэгов"?
Tray писал(а):и что тут легко-то? это ж надо анализировать все хтмльные теги

возьмем тег <br> - даже такой простой тег может быть написан как <br>, < br>, <br /> и т.д.
и непонятно как анализировать...

Зачем тэги анализировать? Надо же просто достать все свойства предмета из странички, типа описание, вес итд.
Tray
Грамотный
Сообщения: 259
Зарегистрирован: Вс ноя 05, 2006 6:17 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Tray »

Неуже-ли так сложно добавить команду Принт???
не понял, это как? где писать?
Зачем тэги анализировать? Надо же просто достать все свойства предмета из странички, типа описание, вес итд.
ну так все это дело в тегах же, поэтому их надо анализировать

все хранится примерно в таком вот виде:

Код: Выделить всё

<table class=tabl1 cellspacing=1><tr><td class=td_h1_center ><font color=Yellow>Агав</td><td class=td_h1_left>Уровень</td><td class=td_v1_left>73</td><td class=td_h1_left>Дальность</td><td class=td_v1_left>3</td><td class=td_h1_right_FFCCCC>Нейтральный</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td width=200 align=center rowspan=8 bgcolor="White"><img src="../img/mob/1769.gif" alt="Elder" title="Elder"></td><td class=td_h1_left>Размер</td><td class=td_v1_left>Средний</td><td class=td_h1_left>STR</td><td class=td_v1_left></td><td class=td_h1_right_FFCCCC>Водный</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>Раса</td><td class=td_v1_left>Человекоподобный</td><td class=td_h1_left>AGI</td><td class=td_v1_left>32</td><td class=td_h1_right_FFCCCC>Земляной</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>Элемент</td><td class=td_v1_left>Нейтральный 4</td><td class=td_h1_left>VIT</td><td class=td_v1_left>27</td><td class=td_h1_right_FFCCCC>Огненный</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>HP</td><td class=td_v1_left>29620</td><td class=td_h1_left>INT</td><td class=td_v1_left>132</td><td class=td_h1_right_FFCCCC>Воздушный</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>Атака</td><td class=td_v1_left>103 ~ 1109</td><td class=td_h1_left>DEX</td><td class=td_v1_left>69</td><td class=td_h1_right_FFCCCC>Ядовитый</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>DEF</td><td class=td_v1_left>15</td><td class=td_h1_left>LUK</td><td class=td_v1_left>15</td><td class=td_h1_right_FFCCCC>Святой</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>MDEF</td><td class=td_v1_left>35</td><td class=td_h1_left>Скорость</td><td class=td_v1_left>300</td><td class=td_h1_right_FFCCCC>Темный</td><td class=td_v1_right><font color="Black">100%</td></tr><tr><td class=td_h1_left>Баз.Опыт</td><td class=td_v1_left>9780</td><td class=td_h1_left>Проф.Опыт</td><td class=td_v1_left>6620</td><td class=td_h1_right_FFCCCC>Призрачный</td><td class=td_v1_right><font color="Blue">0%</td></tr><tr><td class=td_v2_left colspan=5><font color="Red"> Агрессивный</font><font color="Green"> Меняет Цель</font></td><td class=td_h1_right_FFCCCC>Бессмертный</td><td class=td_v1_right><font color="Black">100%</td></tr></table></p><font face="Verdana" size="2"><b>Выпадает:</b><BR></font><br><table class=tabl1 cellspacing=1><tr><td class=td_h1_center> </td><td class=td_h1_center>Имя</td><td class=td_h1_center>Продажа</td><td class=td_h1_center>Покупка</td><td class=td_h1_center>Вес</td><td class=td_h1_center>Слотов</td><td class=td_h1_center>%</td></tr></table>
как ты достанешь что-то, не анализирую теги?
Я не бот, я просто мозг отключил.
Аватара пользователя
Kissa2k
Профессионал
Сообщения: 1304
Зарегистрирован: Пн дек 04, 2006 8:33 pm

Re: База данных RO, добавление фишеГ и вылавливание багоФ

Сообщение Kissa2k »

Tray
Ну тут два пути: либо руками, либо рег. выражения.
Ответить