Strict Standards: Resource ID#31 used as offset, casting to integer (31) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Контроль ошибок в скрипте, загруженном динамически
ТвойWeb » WebMaster класс » JavaScript » Контроль ошибок в скрипте, загруженном динамически

Страниц (1): [1]
 

1. Дмитрий Б. - 07 Марта, 2006 - 07:15:53 - перейти к сообщению
Новая проблема: MSIE 6.0 не замечает блоков try...catch, стоящих в головном файле, если ошибка содержится во внешнем подгружаемом файле. Можно ли что-то с этим сделать?..

Содержимое главного файла:
CODE:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Try - Catch</title>
</head>

<body>

<span id="myspan"></span>

<script type="text/javascript">
<!--
var f;

function trycatch()
{
try
{
f();
}
catch (e)
{
alert(e);
}
}

var a=document.createElement('iframe');
a.src='script.htm';
a.style.width=a.style.height='0px';
a.style.border='none';
document.getElementById('myspan').appendChild(a);
//-->
</script>

</body>
</html>

Содержимое script.htm:
CODE:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset-windows-1251">

<script type="text/javascript">

top.f=function(){ alert("!!!"); nofunc(); }
top.trycatch();

</script>

</head>
</html>


В остальных браузерах всё работает просто отлично...
2. ETC - 07 Марта, 2006 - 07:46:57 - перейти к сообщению
У тебя температуры нет? Не пойму, для чего ты создаешь span, чтобы в нём забить iframe, потом грузишь страницу... Не легче прописать сам iframe и просто src изменить, а?
3. Леголегс - 07 Марта, 2006 - 11:04:39 - перейти к сообщению
Дмитрий Б.
А если вызывать функцию trycatch() из головного файла? И проще наверно оформить трайкатч в script.htm.
4. ETC - 07 Марта, 2006 - 16:02:56 - перейти к сообщению
и, лучше уж в данном случае так:

CODE:
...
trycatch = function() {
...
5. Дмитрий Б. - 07 Марта, 2006 - 22:30:39 - перейти к сообщению
ETC
Дело в том, что по ходу дела этих ифреймов может возникать сколько угодно, так что все не пропишешь... Создание функции через присваивание на результат не влияет. Видимо, нужно делать try...catch во внешнем файле. Громоздко, но...

Леголегс
Функцию trycatch необходимо вызывать сразу после окончания загрузки внешнего скрипта...
6. Леголегс - 08 Марта, 2006 - 15:08:57 - перейти к сообщению
Дмитрий Б.
О! Убери "var f;" =)
7. Дмитрий Б. - 09 Марта, 2006 - 05:22:35 - перейти к сообщению
Гм... Спасибо! А вот в адрес ишака ничё приличного в бошку не идёт...

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0353]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33