powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: динамическое добавление кода JS+CSS
10 сообщений из 10, страница 1 из 1
JS: динамическое добавление кода JS+CSS
    #35401566
ssadmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый всем !!
Подскажите пожалуйста как динамически добавить код JS+CSS на страницу?

есть динамическое добавление HTML, вроде этого...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<script language="javascript">
 var items= 0 ;
 function AddItem() {
  div=document.getElementById("row");
  items++;
  newrow="<table border='1'><tr align='left'><td width=\"15\" align=\"center\"> " + items + " </td>";
  newrow+="<td width=\"115\">";
  newrow+="<div id=\"statesautocomplete_" + items + "\">";
  newrow+="...

  newnode=document.createElement("span");
  newnode.innerHTML=newrow;
  div.insertBefore(newnode);
}
</script>

нужно в это ещё добавить JS код и CSS:

Код: plaintext
1.
2.
3.
4.
5.
newrowJ="<style type='text/css'>";
newrowJ+="...";
newrowJ+="</style>";
newrowJ+="<script type='text/javascript'>";
newrowJ+="...";
newrowJ+="</script>";

и потом эту newrowJ присоединить к странице...
...тока вот как я чёта не понимаю...через innerText добавляется просто текст, по-моему так и положено, через innerHTML выбаёт ошибку "требуется объеккт" (думаю может ошибка синтаксиса, но вроде всё правильно) или как-то ещё можно???

подскажите куда копать хоть, чтобы не тратить время.
Спасибо за помощь :)
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401632
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант использовать

Код: plaintext
document.write(<текст>)
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401665
ssadmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot krvsa]Как вариант использовать

Код: plaintext
document.write(<текст>)

так ведь оно сотрёт всё в моём доке!!!
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401684
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, то по поводу text/css ничего не скажу - просто не знаю.
А со скриптами все просто - если можно отделить строку с html-кодом, от скрипта, то
Код: plaintext
1.
newnode.innerHTML = newrow_code + newrow_script;
eval(newrow_script);

А если делать автоматический движок (например, загрузка с сервера аджаксом странички), то по такому принципу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
_page = request.responseText;
document.getElementById(work_div).innerHTML = _page;
run_script(document.getElementById(work_div));
...
function run_script(_div) {
    var divContent = _div.childNodes;
    for (var i =  0 ; i < divContent.length; i++) {
        requestItem = divContent.item(i);
        if (requestItem.tagName)
            if (requestItem.tagName.toUpperCase() == 'SCRIPT') eval(requestItem.text);
        else run_script(requestItem);
    }
}
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401706
ssadmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruckЕсли честно, то по поводу text/css ничего не скажу - просто не знаю.
А со скриптами все просто - если можно отделить строку с html-кодом, от скрипта, то
Код: plaintext
1.
newnode.innerHTML = newrow_code + newrow_script;
eval(newrow_script);

А если делать автоматический движок (например, загрузка с сервера аджаксом странички), то по такому принципу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
_page = request.responseText;
document.getElementById(work_div).innerHTML = _page;
run_script(document.getElementById(work_div));
...
function run_script(_div) {
    var divContent = _div.childNodes;
    for (var i =  0 ; i < divContent.length; i++) {
        requestItem = divContent.item(i);
        if (requestItem.tagName)
            if (requestItem.tagName.toUpperCase() == 'SCRIPT') eval(requestItem.text);
        else run_script(requestItem);
    }
}


пасибо конечно, но у меня всё намного проще...
Есть страничка, в которой есть табла, к которой есть поля, на которые навешаны JS ф-ции, есть кнопка типа "добавить строку в таблицу", которая и добавляет мне строку в таблицу, и ф-ии нужно тоже добавлять для каждой строки свои...именно в этом вопрос...весь код на этой странице, никакого AJAX и прочего, именно в добавлении этих ф-ий и проблема...
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401734
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда так и делай - через eval.
Только одно НО: когда ты динамически добавляешь скрипт, назначать событиям обработчик надо не в самом элементе (типа "<td id='td1' onclick='...'>"), а назначением его в том же скрипте, типа:
"<td id='td1'>"
...
"<script type='text/javascript'>
document.getElementById('td1').onclick = your_function;
function your_function() {
...
}
</script>"
или
"<script type='text/javascript'>
document.getElementById('td1').onclick = function() {
...
};
</script>"

(обрати внимание на точку с запятой во втором случае - при динамически вставляемых скриптах это обязательно - возможно, кроме последнего обработчика - иначе не будет работать и будет вылетать ошибка).
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401797
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssadmn
Есть страничка, в которой есть табла, к которой есть поля, на которые навешаны JS ф-ции, есть кнопка типа "добавить строку в таблицу", которая и добавляет мне строку в таблицу, и ф-ии нужно тоже добавлять для каждой строки свои...именно в этом вопрос...весь код на этой странице, никакого AJAX и прочего, именно в добавлении этих ф-ий и проблема...
Не понял. Что для каждой строки своя уникальная функция? И для каждой строки свой уникальный стиль? Может всё-таки сойдут парочка цсс классов и одна единственная функция?
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401807
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssadmn[quot krvsa]Как вариант использовать

Код: plaintext
document.write(<текст>)

так ведь оно сотрёт всё в моём доке!!!Если это сделать в хедере, то определенно сотрет, а если в в теле, то <текст> будет добавлен в соответствующее место тела.
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35401857
ssadmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем помощь !! :)

eval помог :)
...
Рейтинг: 0 / 0
JS: динамическое добавление кода JS+CSS
    #35402375
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/546520&hl=#5539818
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: динамическое добавление кода JS+CSS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]