|
|
|
| я извеняюсь на настойчивость, но мне все-же надо узнать почему скрипт на Mozilla FireFox не работает?
function load()
{
var reg = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
var url= "load.php?t=1";
if(reg)
{
reg.onreadystatechange = function readystate()
{
if(reg.readyState==4) // не выполняется это условие
{
if(reg.status==200)
{
document.getElementById('divka').innerHTML = reg.responseText;
setTimeout('load();',2000)
}
else alert("Произошла ошибка "+ req.status+":\n" + req.statusText)
}
}
reg.open("GET", url, true);
reg.send();
}
}
|
| |
|
|
|
|
|
|
|
для: Roma
(13.04.2007 в 13:40)
| | А он где-то будет работать?
var reg - создаёт временный объект, который успеет дать запрос и уничтожится по окончании функции. Как и reg.onreadystatechange соответственно. | |
|
|
|
|
|
|
|
для: 12345
(13.04.2007 в 14:13)
| | Разобрался.
Все я сделал правильно, а проблема была в том, что я написал reg.send() а надо было reg.send(null) | |
|
|
|
|
|
|
|
для: Roma
(13.04.2007 в 14:25)
| | Действительно, в других примерах так же. Почему же он работает? | |
|
|
|
|
|
|
|
для: 12345
(13.04.2007 в 15:16)
| | Здесь очевидно т.н. closure
Вот схожий пример:
<script>
function f()
{
var v='abc';
document.getElementById('button').onclick=function(){alert(v)}
}
onload=f;
</script>
<button id="button">Alert v</button>
|
| |
|
|
|
|
|
|
|
для: RMW
(13.04.2007 в 18:12)
| | В данном примере - да, но здесь не уничтожается document.getElementById('button').В том примере совсем другое - сделали локальный объект XmlHttp, сделали в нём клошуру Ну и что? Всё равно по окончании load() объект reg должен исчезнуть вместе со своей клошурой. А она не пропадает. | |
|
|
|