#1 04.05.07 09:27
[javascript]Как без релода выполнить левый скрипт?
нашёл на одном сайте функцию,не могу её понять:
function execInternalScript(url) {
var scriptObj = document.createElement("script");
scriptObj.src = url;
var placerObj = document.body.firstChild;
do {
if(placerObj.nodeType == 1) {
placerObj.appendChild(scriptObj);
break;
}
} while(placerObj = placerObj.nextSibling);
}
а допустим url = "/to_bd/index.php?id=4";
Offline
#2 04.05.07 09:50
Re: [javascript]Как без релода выполнить левый скрипт?
а с полным урлом пробовал? )
Offline
#7 04.05.07 12:00
Re: [javascript]Как без релода выполнить левый скрипт?
твоя функция загружает произвольный код в текущий документ, а урл, который надо указать - это урл подгружаемого кода.
например есть скриптовый файл external.js в папке /includes/js/
тогда в документе надо сделать такой вызов:
Код: javascript:
execInternalScript("/includes/js/external.js"); // а потом функцию, которую подгрузил :)
Offline
#9 12.05.07 11:34
Re: [javascript]Как без релода выполнить левый скрипт?
ну вот так сдедали:
Код: javascript:
function wer(id) { server = 'server2/~test/'; d=window.document; h=d.getElementsByTagName('head').item(0); s=d.createElement('script'); if(typeof(s)!='object') { s=d.standardCreateElement('script'); } s.setAttribute('src','http://'+server+'/js/test.php?id='+id); s.setAttribute('type','text/javascript'); s.setAttribute('language','javascript'); s.setAttribute('charset','CP-1251'); h.appendChild(s); }
Код: test.php:
alert(id);
<?
echo "alert('$id')";
?>
оба алерта работают
Исправлено iDrum (12.05.07 11:34)
Offline
#10 13.05.07 10:20
#11 13.05.07 12:17
#12 14.05.07 10:10
Re: [javascript]Как без релода выполнить левый скрипт?
iDrum, учи js, потом про ajax почитай.
Offline

