Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2010, 23:37
Новичок на форуме
Отправить личное сообщение для Sell Посмотреть профиль Найти все сообщения от Sell
 
Регистрация: 05.05.2010
Сообщений: 1

Подгруженный в IE JS-код не видит функции
Ситуация: есть основная страница 1.html, в которой в script определена функция test:
function test() {alert(10);}
Страница отправляет ajax-запрос по адресу 2.html, подгружая её содержимое. В странице 2.html есть следующее:
<script type='text/javascript'>test();</script>

т.е. кусок кода, подгруженный аяксом, вызывает функцию, определенную в родителе. В опере и FF - Все работает. В IE - ругается, что функция test не определена.

Отправкой ajax-запроса занимается мой класс ajaxRequest. Когда он получает ответ от сервера, то обрабатывает его функцией, выполняющей все js-коды. Но, видимо, что-то тут не так работает...
ajaxRequest.prototype.workLoadedText = function(text,container)
{
try {
var element = document.getElementById(container);
if ( element != null )
{
var matchAllInline = new RegExp('<script[^>]*>([\\S\\s]*?)<\/script>', 'img');
var matchAllSrc = new RegExp('<script src=[\'|"]([^\'"]*?)[\'|"][^>]*>([\\S\\s]*?)<\/script>', 'img');

var stripScripts = function(text)
{
while ( (matched = matchAllInline.exec(text)) != null )
{
try {
text = text.replace(matched[1],'');
} catch(err) { alert('Java eval error ('+err.number+'): '+err.description); }
}
};

var extractScripts = function(text)
{
while ( (matched = matchAllSrc.exec(text)) != null ) $.getScript(matched[1]);
while ( (matched = matchAllInline.exec(text)) != null )
{
try {
/*window.eval(matched[1]);*/
window.eval.call(window,matched[1]);/*window.eval(matched[1]);*/
} catch(err) { alert('Java eval error ('+err.number+'): '+err.description); }
}
};

element.innerHTML = text;
extractScripts(text);
} else alert('Элемент с id='+container+' не был найден в теле документа.');
} catch (err) { alert(err); }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код между body и body ie7 не видит alexandr_poskrobka (X)HTML/CSS 2 09.03.2010 18:35
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Цикл функции в JS Nikitos* Общие вопросы Javascript 2 31.03.2009 19:51
Вызов событий из js функции Destrifer Общие вопросы Javascript 5 29.11.2008 15:28
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44