Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

La unii merge la altii nu ... window.opener
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Subiectul anterior :: Subiectul următor  
Autor Mesaj
xman



Data înscrierii: 18/Feb/2006
Mesaje: 139
Locație: Cluj-Napoca

Trimis: Mie Noi 07, 2007 11:23 pm    Titlul subiectului: La unii merge la altii nu ... window.opener  

Buna seara oameni buni .

Am icercat sa facu un script de upload fisiere folosiid ajax si fara iframe .. Sincer nu am crezut ca o sa meraga , dar merge bine .. Insa nu la oricine .

Eu l-am testat pe IE6 , IE7 , FF si merge .
La unii a mers si pe IE si pe FF .
La altii pe nici unu .
La altii doar pe IE .

---------
index.php am : window.open

upload.php :(fereastra care se deschide) am <form> dupa ce se incarca fisierul apare un progress.gif , se face update la <div> din index.php si se inchide fereastra .

Sub butonul din index.php ar trebuie sa apara lista cu fisierele upload-ate .
Lucru care se intampla la unii si nu la toti .

Codul :

Cod:
timpul = null;
function showfiles(sesiunea)
      {
         var files = null;
         if(window.XMLHttpRequest)
         {
            files = new XMLHttpRequest();
         }
         else if(window.ActiveXObject)
         {
            try
            {
                  files = new ActiveXObject("Msxml2.XMLHTTP");
             }
            catch (e)
            {
                  try
                 {
                       files = new ActiveXObject("Microsoft.XMLHTTP");
                  }
                 catch (e1)
                 {
                       files = null;
                  }
             }
         }
         else
         {    
               alert("Browserul dumneavoastra nu suporta aceasta actiune ");
               var files = false;
         }
         
         var url = "upload.php?do=lista&sesiunea="+sesiunea;
         files.onreadystatechange = function()
         {   
            if(files.readyState == 4 && files.status == 200)
            {
               window.opener.document.getElementById('lista').innerHTML = files.responseText;
            }
         }
         
         files.open("GET",url,true);
         if(window.XMLHttpRequest)
         files.send(null);
         if(window.ActiveXObject)
         files.send();
      }

function init(sesiunea)
      {
          var fichiere    = window.parent.document.getElementById('continut');
         var imgs       = window.parent.document.createElement('img');
         imgs.src       = 'progress.gif';
         imgs.height      = '16';
         imgs.width      = '16';
         imgs.className    = 'load';
         fichiere.appendChild(imgs);
         window.parent.setTimeout("showfiles(" + sesiunea + ")", 10000);
         window.inchide();
      }

   function inchide()
      {
            timpul = setTimeout("self.close()",11000);
      }


Aveti vreo idee unde poate sa fie gresala mea ?

Subliniez faptul ca la toti fisierele s-au upload-at pe server , deci actiunea php a avut loc dar nu si ceea cu java ..

Mersi ...
Sus  
xman



Data înscrierii: 18/Feb/2006
Mesaje: 139
Locație: Cluj-Napoca

Trimis: Vin Noi 09, 2007 11:44 pm    Titlul subiectului:  

Nu ma poate ajuta nimeni ?
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 547
Locație: Drobeta Turnu Severin

Trimis: Sâm Noi 10, 2007 1:55 pm    Titlul subiectului:  

Fereastra se inchide inainte ca raspunsul serverului sa fi venit.
Functia showfiles() apelata de init(), instantiaza obiectul XMLHttpRequest care asteapta raspunsul de la server.
Functia init() continua executia si dupa 11000 ms inchide fereastra. In clipa asta nu mai exista opener.
Daca raspunsul serverului vine repede e OK, daca intarzie vine degeaba.
Eu zic sa pui inchide() in corpul functiei de la onreadystatechange (la sfarsit).
Sus  
xman



Data înscrierii: 18/Feb/2006
Mesaje: 139
Locație: Cluj-Napoca

Trimis: Lun Noi 19, 2007 4:10 pm    Titlul subiectului:  

dechim , mersi frumos ca ai raspuns .
Nici asa nu s-a rezolvat problema .
Si nici daca las doar raspunsul fara time ...
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 547
Locație: Drobeta Turnu Severin

Trimis: Lun Noi 19, 2007 5:51 pm    Titlul subiectului:  

Atunci renunta in a mai face totul in fereastra noua.
Pune un <div> cu id undeva in pagina si afiseaza acolo progress-ul, iar ce primesti de la server scrie direct unde vrei fara opener.
N-am acum stare ca as face o proba.
Imediat ce am timp am sa incerc, poate-mi foloseste si mie.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community