Jump to content
php.lv forumi

PHP un Ajax


Parasts cilvēks

Recommended Posts

IE slaidi uzspļauj jebkādiem standartiem,un ar katru versiju dara kā vēlas,attiecīgi pieprasot ActiveXObject izsaukt savādāk.Pamēģini to vietu paplašināt šādi :

catch(e)
{
 var ieXmlHttpVersions = new Array();
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";
 ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";

 var i;
 for (i=0; i < ieXmlHttpVersions.length; i++)
 {
  try
  {
   var xmlhttp = new ActiveXObject(ieXmlHttpVersions[i]);
   break;
  }
  catch (err2)
  {
   alert(ieXmlHttpVersions[i] + " not supported.");
  }
 }
}

Link to comment
Share on other sites

  • Replies 35
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

tavai zināšanai ie pirmais ieviesa http objektu jau pirms kādiem gadiem 10. un tikai vēlāk tas tik nostandartizēts. tāpēc nevajag dirst virsū ie

 

turklāt ie neko nepieprasa. tu pats uz sava pc vari uzinstalēt kādu msxml versiju vien vēlies. turklāt izveidojot to objektu, versija obligāti nav jānorāda. vnk izveido MSXML2.XMLHttp, un tiks ņemta jaunākā versija, kāda ir pieejama uz konkrētā pc. kr4 tu iepostoji kodu, kura nozīmi pats nerubī :D:D:D

Edited by 2easy
Link to comment
Share on other sites

Neciešu šādus kodus - šoreiz runa par darbībām ar masīviem.

 

var vers=["MSXML2.XMLHttp.7.0","MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for(var i in vers){
...

Link to comment
Share on other sites

Nu mans iepostētais nekā nerubīšanas paraugs ir stipri līdzīgs šai rekomendācijai un paša skriptos izmantots.Tā kā gāja bez problēmām,tad neredzēju pamatu apstrīdēt.Yahoo ar tas pats piegājiens: http://infinitezest.com/articles/xmlhttprequest-and-ajax-on-yahoo.aspx bet ja 2easy saka,ka viss rullē tāpat,tad jau būs vien jātic :)

Edited by 404
Link to comment
Share on other sites

Savukārt manam variantam piepalīdzēs ar pamatojumu šis: http://www.fotiweb.com/2009/11/19/cross-browser-xmlhttprequest/

balstoties uz to,ka pats Microsoft savulaik rekomendēja darbinot aplikācijas nočekot kā minimums vismaz 6.0 un 3.0 xml versijas:

http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx

peace :)

Edited by 404
Link to comment
Share on other sites

par kkādām versijām vari sākt iespringt tad, ja tev vajag validēt XSD shēmas vai vēl sazin ko. bet ja vajag vnk nosūtīt get/post requestu, tad ir pilnīgi pofig kāda ir versija

 

ir daudz visādi gudrīši kkas kko atgremo savos blogos, bet paši nedomā līdzi, priekš kam kas ir vajadzīgs. tāpēc visādas tamlīdzīgas rekomendācijas ir vērts pašam praktiski pārbaudīt: ja uz standarta testa vides (saviem suportējamajiem ie browseriem) viss strādā ar senāko visvairāk suportēto versiju, tad tālāk var netestēt n-tās citas http objekta versijas (ja vien nav pamatots iemesls tā darīt: tipa kkāda labāka funkcionalitāte vai bugfix)

Link to comment
Share on other sites

Nu jā-nevajadzīgi nosvētīju nabaga pārlūku :D Vaina būs citur.Uzmetu intereses pēc sourci patestēt.Objektu arī tagad izveido,bet IE diez ko nedraudzējas ar innerHTML.Šo vietu:

var ajaxDisplay       = document.getElementById(name);
ajaxDisplay.innerHTML = ajaxRequest.responseText;

pamaini uz:

var ajaxDisplay             = document.getElementById(name);
ajaxDisplay.options[0].text = ajaxRequest.responseText;

No versijas no 5.01 uz augšu šādi man strādā.Un html daļu pie reizes ar palabot prasās. Vismaz noslēdzošos tagus un disabled="true" uz disabled="disabled" :)

Edited by 404
Link to comment
Share on other sites

Nu jā-nevajadzīgi nosvētīju nabaga pārlūku :D Vaina būs citur.Uzmetu intereses pēc sourci patestēt.Objektu arī tagad izveido,bet IE diez ko nedraudzējas ar innerHTML.Šo vietu:

var ajaxDisplay       = document.getElementById(name);
ajaxDisplay.innerHTML = ajaxRequest.responseText;

pamaini uz:

var ajaxDisplay             = document.getElementById(name);
ajaxDisplay.options[0].text = ajaxRequest.responseText;

No versijas no 5.01 uz augšu šādi man strādā.Un html daļu pie reizes ar palabot prasās. Vismaz noslēdzošos tagus un disabled="true" uz disabled="disabled" :)

 

Diemžēl šitas nepalīdz :(

Tagad sanāk tā, ka forefox pie platuma izvēles, augstumā iemet šādu: <option>--</option><option value='55'>55</option><option value='60'>60</option><option value='65'>65</option>

 

Pamēģināju IE izvēlēties platumu, bet tur diemžēl pat: <option>--</option><option value='55'>55</option><option value='60'>60</option><option value='65'>65</option> , neparādās. Tur viss pa vecam :(

Link to comment
Share on other sites

vai pamēģināji nomainīt visu <select> kopā ar optioniem?

#4 posts

 

Godīgi sakot tagad mēģinu riktīgi iebraukt kā pareizi un kas jāsamaina. Jo diemžēl tajā visā esmu tiaki iesācējs :(

 

Cik sapratu, tad 1. kas jāizdara, visi <select>..</select> jāielik iekš <div id='ddd'></div> (Vienīgais vai katram select savs id, vai visiem viens)

Runājot par to otro lietu, kas jāsamaina, pagaidām vēl neiebraucu, mēģināju gan tā gan šā, bet kaut kā nesanāk. Man liekas, ka īsti ne to mainu :(

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...