Jump to content
  • 0

Информер внутри скрипта


Mihahail
 Share

Question

Вопрос:

как в этот скрипт внедрить информер?

<script type="text/javascript"> 
var newCODE='<br><table><tr><td><fieldset style="border: 1px solid #494949"><legend>Миничат:</legend>$CHAT_BOX$</fieldset></td><td><script type="text/javascript" src="http://aonmap.ru/informer/2"></script></td></tr>',element;
siteDIVs=document.getElementsByTagName("div");
for(var std_f=0;std_f<siteDIVs.length;std_f++){
if(siteDIVs[std_f].className=="funcBlock"){
element=document.createElement("div");
element.innerHTML=newCODE;
siteDIVs[std_f].parentNode.replaceChild(element,siteDIVs[std_f]);
}}
</script>

Edited by Mihahail
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0
Вопрос:

как в этот скрипт внедрить информер?

<script type="text/javascript"> 
var newCODE='<br><table><tr><td><fieldset style="border: 1px solid #494949"><legend>Миничат:</legend>$CHAT_BOX$</fieldset></td><td><script type="text/javascript" src="http://aonmap.ru/informer/2"></script></td></tr>',element;
siteDIVs=document.getElementsByTagName("div");
for(var std_f=0;std_f<siteDIVs.length;std_f++){
if(siteDIVs[std_f].className=="funcBlock"){
element=document.createElement("div");
element.innerHTML=newCODE;
siteDIVs[std_f].parentNode.replaceChild(element,siteDIVs[std_f]);
}}
</script>

Что есть информер? Вы форумом не ошиблись случайно?

Link to comment
Share on other sites

  • 0
Что есть информер? Вы форумом не ошиблись случайно?

Информер есть это:

<script type="text/javascript" src="http://сайт.ru/informer/2"></script>

Но скрипт внутри скрипта - конфликт. как этого конфликта избежать?

Edited by Mihahail
Link to comment
Share on other sites

  • 0
Информер есть это:
<script type="text/javascript" src="http://сайт.ru/informer/2"></script>

Но скрипт внутри скрипта - конфликт. как этого конфликта избежать?

Вы про что? :lol:

Вы будете адекватно свои мысли выражать, или продолжите загадками говорить?

Не ждите ответа, если воспрос задан неверно.

Link to comment
Share on other sites

  • 0
Вы про что? :lol:

Вы будете адекватно свои мысли выражать, или продолжите загадками говорить?

Не ждите ответа, если воспрос задан неверно.

Повторяю для особо одарённых

У меня есть скрипт(первый пост)

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

В этом и вопрос: как сделать так, чтоб скрипт заменитель заканчивалсо не тегом закрывателем скрипта, который внутри него.

Неужели вы не видите ошибки в моём коде из первого поста? вопрос в том, как её исправить.

Edited by Mihahail
Link to comment
Share on other sites

  • 0
Повторяю для особо одарённых

У меня есть скрипт(первый пост)

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

В этом и вопрос: как сделать так, чтоб скрипт заменитель заканчивалсо не тегом закрывателем скрипта, который внутри него.

Неужели вы не видите ошибки в моём коде из первого поста? вопрос в том, как её исправить.

Вот так намного лучше.

А зачем вам так много включений одного и того же кода на страницу?

Добавьте <script type="text/javascript" src="http://aonmap.ru/informer/2"></script> в HEAD и не мучайтесь.

Link to comment
Share on other sites

  • 0
Вот так намного лучше.

А зачем вам так много включений одного и того же кода на страницу?

Добавьте <script type="text/javascript" src="http://aonmap.ru/informer/2"></script> в HEAD и не мучайтесь.

нет, как же, ведь мне нужно что чтоп данные из информера были конкретно в данном месте...

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

Link to comment
Share on other sites

  • 0
нет, как же, ведь мне нужно что чтоп данные из информера были конкретно в данном месте...

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

В шапке этот скрипт начнет исполняться, а блоков класса funcBlock еще не будет.

Этот скрипт не надо вставлять в тело, он ведь ищет все блоки с классом funcBlock и заменяет их содержимое на таблицу. Оформите этот скрипт в виде функции, поместите в header или в отдельный файл и подключите его, а функцию вызывайте 1 раз на событии onload у body.

Link to comment
Share on other sites

  • 0
нет, как же, ведь мне нужно что чтоп данные из информера были конкретно в данном месте...

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

2 Mihahail, JS - это не только document.write();

<script type="text/javascript">
var newCODE='<br><table><tr><td><fieldset style="border: 1px solid #494949"><legend>Миничат:</legend>$CHAT_BOX$</fieldset></td><td>' + informer() +'</td></tr>',
element;
siteDIVs=document.getElementsByTagName("div");
.....
</script>

function informer () {
return "<div style=\"border-bottom: 1px solid black;\"><a href=\"http://aonmap.ru/forum/11-27-0-17\">Гро'гот, Орк Наемн</a></div>";
}

Link to comment
Share on other sites

  • 0
В шапке этот скрипт начнет исполняться, а блоков класса funcBlock еще не будет.

Этот скрипт не надо вставлять в тело, он ведь ищет все блоки с классом funcBlock и заменяет их содержимое на таблицу. Оформите этот скрипт в виде функции, поместите в header или в отдельный файл и подключите его, а функцию вызывайте 1 раз на событии onload у body.

Вопрос:

Мне ведь надо поместить информер внутри кода, и никак иначе, а не вызывать функцию, а после неё ставить информер или ставить в информере вызов функции..

Или я вас нетак понял...

Link to comment
Share on other sites

  • 0

Может я что-то не понял, но ведь ваш скрипт и так вставляет этот информер внутрь кода во все блоки, которые имеют класс funcBlock, точнее заменяет их. Зачем этот скрипт вызывать много раз?

Link to comment
Share on other sites

  • 0
Может я что-то не понял, но ведь ваш скрипт и так вставляет этот информер внутрь кода во все блоки, которые имеют класс funcBlock, точнее заменяет их. Зачем этот скрипт вызывать много раз?
неа, такой клас только у одного блока на странице, а for нужен, ведь хоть и клас такой один, а дивов много-то.

Кстати, может стоит сделать так:

<div id="myinf2" style="display:none;">НЕКОТОРЫЙ КОД, $MYINF_2$</div> 
<script type="text/javascript"> 
var n1=document.getElementById('myinf2'),newCODE=n1.innerHTML,element,siteDIVs=document.getElementsByTagName("div"); 
n1.parentNode.removeChild(n1); 
for(var std_f=0;std_f<siteDIVs.length;std_f++){
if(siteDIVs[std_f].className=="funcBlock"){
element=document.createElement("div");
element.innerHTML=newCODE;
siteDIVs[std_f].parentNode.replaceChild(element,siteDIVs[std_f]);
}}
</script>

Link to comment
Share on other sites

  • 0

Что-то вы мудрите... если блок один так дайте ему id и не надо будет никаких циклов.

И размещать скрипт замены содержимое этого элемента нужно только там, где этот элемент уже будет загружен. Но лучше всего по событию onload.

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

Смысл последнего варианта вашего кода вообще не понятен... Зачем перемещать этот информер, если он уже будет в коде? Может просто свойство display поменять?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy