Показать сообщение отдельно
  #3 (permalink)  
Старый 17.06.2009, 17:49
Интересующийся
Отправить личное сообщение для SleepWalker Посмотреть профиль Найти все сообщения от SleepWalker
 
Регистрация: 09.11.2008
Сообщений: 15

прошу прощения. таки не работает алерт. ето я уже запутался. просто с утра не могу решить проблему.
с евалом функция выглядела так:
//str - ответ сервера
function renewScripts(str) {
    var scriptStr = '';
    var re = new RegExp('<script type=.?text/javascript.?');
    while (re.test(str)) {
        scriptStr = str.slice(str.search(re), str.indexOf('</script>') + 9);
        str = str.replace(scriptStr, '');
        var re2 = new RegExp('<script type=.?text/javascript.?>');
        if (re2.test(scriptStr)) {
            scriptStr = scriptStr.replace(re2, '').replace('</script>', '');
            eval(scriptStr);
        }else{
            re2 = new RegExp('[\'"]>');
            scriptStr = scriptStr.slice(scriptStr.indexOf('src=') + 5, scriptStr.indexOf('>'));
            var scr = document.createElement('script');
            scr.type = 'text/javascript';
            scr.src = scriptStr;
            document.body.appendChild(scr);
        }
    }


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

Сообщение от Gvozd Посмотреть сообщение
надо с помощью создания внутри текстовой ноды
не очень дружу с DOM(
можно немного поподробнее про текстовые ноды?
Ответить с цитированием