Как вставить ява скрипт при условии?

antono
На сайте с 12.07.2004
Offline
293
1639

На странице стоит ява скрипт:

<script language="JavaScript">

function mov(obj) {

if (obj=='one') {

////////////////////

}

}

</script>

Как вставить вместо //////////////////// функцию или объект, которая бы загружала другой ява скрипт, который находится в другом файле? Поиски по инету ничего не дали.

[Удален]
#1

Да, тема действительно интересная, что скажут гуру програминга?

iexpert
На сайте с 01.09.2005
Offline
184
#2

Так:

$import("file.js");

Для извращенцев вот так:

<script>

var a;
a = 1;
if (a == 1){
document.write("<script src=\"file.js\"><\/script>");
}
</script>

Только не делайте так плиз

Имхо прощу СРАЗУ загрузить необходимую библиотеку или функцию, а уж потом ей пользоваться. Как обычно

if (a = 1) foo();

Ах, да, для первого варианта:


function $import(path){
document.write("<" + "script src=\"" + path + "\"><\/" + "script>");
}

:d

Бойтесь ваших желаний, ибо они могут исполниться
antono
На сайте с 12.07.2004
Offline
293
#3
iexpert:
Так:

$import("file.js");


Для извращенцев вот так:

<script>

var a;
a = 1;
if (a == 1){
document.write("<script src=\"file.js\"><\/script>");
}
</script>


Только не делайте так плиз

попробую так :)

iexpert:

Имхо прощу СРАЗУ загрузить необходимую библиотеку или функцию, а уж потом ей пользоваться. Как обычно

if (a = 1) foo();

так проще конечно, но это не подходит, я бы не поднимал проблему

iexpert:

Ах, да, для первого варианта:

function $import(path){
document.write("<" + "script src=\"" + path + "\"><\/" + "script>");
}

:d

А знак $ зачем? Это же не ПХП

Kolyaj
На сайте с 28.03.2006
Offline
69
#4
<script>
var a;
a = 1;
if (a == 1){
document.write("<script src=\"file.js\"><\/script>");
}
</script>

Действительно для извращенцев, потому что не работает это :)

Надо так


s = document.createElement('SCRIPT');
s.type = 'text/javascript';
s.src = 'file.js';
document.body.appendChild(s);
[Удален]
#5

Kolyaj, 5 баллов!

Но что Вы скажете про совместимость с ранними версиями ЯваСкрипта?

Я не спец, просто интересно.

Kolyaj
На сайте с 28.03.2006
Offline
69
#6
Но что Вы скажете про совместимость с ранними версиями ЯваСкрипта?

Честно говоря не знаю, но должно работать везде. Классика DOM.

Кстати неплохая замена XMLHttpRequest. Динамически подгружаете js-файл, который генерируется PHP. Если не учитывать увеличивающуся модель документа, то все замечательно.

iexpert
На сайте с 01.09.2005
Offline
184
#7

Ну, положим, то, что написал я работает.

Не надо грязи.

Kolyaj
На сайте с 28.03.2006
Offline
69
#8

Извиняюсь, не уточнил. document.write() не подходит после окончания загрузки страницы. Сотрет ведь все!

antono
На сайте с 12.07.2004
Offline
293
#9
Kolyaj:


s = document.createElement('SCRIPT');
s.type = 'text/javascript';
s.src = 'file.js';
document.body.appendChild(s);

что-то не работает, пишет

document.body - есть null или не является объектом

VC
На сайте с 03.04.2006
Offline
63
#10

document.body.appendChild(s); - не будет работать пока страница не загружена (т.е. body еще не определен)

Нужно:

document.documentElement.firstChild.appendChild(s);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий