Страница 5 из 6

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

Добавлено: Пн янв 12, 2009 2:32 pm
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);
блин, тоже не получается

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

Добавлено: Пн янв 12, 2009 3:58 pm
Kissa2k
Tray писал(а):Вобщем, мне хотелось бы по какому-то условию (по значению переменной, допустим) вставить в хтмл-страницу код рекламки (с бегуна, например). Если переменная=0, то пусть этого кода на странице не будет и реклама не будет отображаться. Если же она=1, тогда будет.
Как насчет использования php? Это будет в разы проще.

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

Добавлено: Пн янв 12, 2009 4:36 pm
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 секунды:
И да, на стороне сервера это проще сделать.

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

Добавлено: Пн янв 12, 2009 8:51 pm
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 в день :) поэтому естесно, хотелось бы, чтобы она была на каждой странице...

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

Добавлено: Пн янв 12, 2009 9:16 pm
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 писал(а):использовать пхп это конечно хорошая идея, если бы моя база изначально была бы написана с применением пхп, а не через жопу, как сейчас - отдельными хтмлами
Может тогда стоит написать скрипт, парсящий твои отдельные хтмлки (чтоб существующую информацию сохранить), и переделать базу нормально? Не так сложно же.

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

Добавлено: Пн янв 12, 2009 11:56 pm
kLabMouse
print в помощь =))

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

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

EternalHarvest, спасибо тебе, ты мне помог. Что самое интересное, я задавал этот вопрос на сайте javascript.ru, там мне не смогли помочь :)

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

Добавлено: Вт янв 13, 2009 9:53 am
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>, но и вообще с любыми закрывающими тэгами.

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

Добавлено: Вт янв 13, 2009 10:43 am
Tray
Чего там делать-то... цикл перебора файлов, одно регулярное выражение, и вывод в нужном формате или сразу запись в бд.
так, а если это выражение записано в несколько строк?
я не понимаю как это сделать если честно...

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

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

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

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

Добавлено: Вт янв 13, 2009 10:50 am
Kissa2k
Не обязательно использовать js. Можно написать скрипт на perl или php, который в нужных тебе местах html файла вставит необходимый js-код.

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

Добавлено: Вт янв 13, 2009 10:55 am
Tray
дык вставить js-код для меня не проблема, такую программулину я уже для себя написал - берет все файлы нужного мне формата из выбранной папки и меняет в них одну строку/строки на другую (ну тут я сам ставлю что заменить).

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

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

Добавлено: Вт янв 13, 2009 11:10 am
kLabMouse
Tray
Неуже-ли так сложно добавить команду Принт???
браузер уже сам розпарсит что ты от него хотел.

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

Добавлено: Вт янв 13, 2009 11:25 am
EternalHarvest
Tray писал(а):так, а если это выражение записано в несколько строк?
я не понимаю как это сделать если честно...

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

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

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

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

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

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

Добавлено: Вт янв 13, 2009 11:54 am
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>
как ты достанешь что-то, не анализирую теги?

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

Добавлено: Вт янв 13, 2009 12:05 pm
Kissa2k
Tray
Ну тут два пути: либо руками, либо рег. выражения.