Posiadam dwie funkcje: createXmlHttpRequestObject_input1() oraz createXmlHttpRequestObject_input2().
Funkcje sa czescia dwoch skryptow typu suggest.
Wywolanie dwoch tych funkcji jedna po drugiej powoduje ze pierwsza funkcja (w tym przypadku createXmlHttpRequestObject_input1() ) przestaje dzialac, co sugeruje ze te funkcje z jakiegos nieznanego mi blizej powodu nie moga wystepowac jednoczesnie - druga nadpisuje pierwsza.
Mimo dolozenia wszelkich starac aby nazwy funkcji oraz zmiennych nie pokrywaly sie ze soba, nie udalo mi sie uruchomic ich jednoczesnie.
Byc moze dla kogos z was, kto na codzien uzywa JS i ma wieksze doswiadczenie w tej dziedzinie problem i ewentualne rozwiazanie nasunie sie szybciej niz mnie.
Ponizej zamieszczam kod obu funkcji:
CODE
function createXmlHttpRequestObject_input1()
{
// przechowa odowłanie do obiektu XMLHttpRequest
var xmlHttp_input1;
// powinno zadziałać dla wszystkich przeglądarem z wyjątkiem IE6 i starszych
try
{
// próbuje utworzyć obiekt XMLHttpRequest
xmlHttp_input1 = new XMLHttpRequest();
}
catch(e_input1)
{
// zakładając, że IE6 lub starsza
var XmlHttpVersions_input1 = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
// próbuje wszystkie wartości progId, aż jedna zadziała
for (var i_input1=0; i_input1<XmlHttpVersions_input1.length && !xmlHttp_input1; i_input1++)
{
try
{
// próbuje stworzyć obiekt XMLHttpRequest
xmlHttp_input1 = new ActiveXObject(XmlHttpVersions_input1[i_input1]);
}
catch (e_input1) {}
}
}
// zwraca utworzony obiekt lub wyświetla komunikat o błędzie
if (!xmlHttp_input1)
alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
else
return xmlHttp_input1;
}
CODE
function createXmlHttpRequestObject_input2()
{
// przechowa odowłanie do obiektu XMLHttpRequest
var xmlHttp_input2;
// powinno zadziałać dla wszystkich przeglądarem z wyjątkiem IE6 i starszych
try
{
// próbuje utworzyć obiekt XMLHttpRequest
xmlHttp_input2 = new XMLHttpRequest();
}
catch(e_input2)
{
// zakładając, że IE6 lub starsza
var XmlHttpVersions_input2 = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
// próbuje wszystkie wartości progId, aż jedna zadziała
for (var i_input2=0; i_input2<XmlHttpVersions_input2.length && !xmlHttp_input2; i_input2++)
{
try
{
// próbuje stworzyć obiekt XMLHttpRequest
xmlHttp_input2 = new ActiveXObject(XmlHttpVersions_input2[i_input2]);
}
catch (e_input2) {}
}
}
// zwraca utworzony obiekt lub wyświetla komunikat o błędzie
if (!xmlHttp_input2)
alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
else
return xmlHttp_input2;
}
{
// przechowa odowłanie do obiektu XMLHttpRequest
var xmlHttp_input2;
// powinno zadziałać dla wszystkich przeglądarem z wyjątkiem IE6 i starszych
try
{
// próbuje utworzyć obiekt XMLHttpRequest
xmlHttp_input2 = new XMLHttpRequest();
}
catch(e_input2)
{
// zakładając, że IE6 lub starsza
var XmlHttpVersions_input2 = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
// próbuje wszystkie wartości progId, aż jedna zadziała
for (var i_input2=0; i_input2<XmlHttpVersions_input2.length && !xmlHttp_input2; i_input2++)
{
try
{
// próbuje stworzyć obiekt XMLHttpRequest
xmlHttp_input2 = new ActiveXObject(XmlHttpVersions_input2[i_input2]);
}
catch (e_input2) {}
}
}
// zwraca utworzony obiekt lub wyświetla komunikat o błędzie
if (!xmlHttp_input2)
alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
else
return xmlHttp_input2;
}