Witam
Za pomocą ajax-a odświeżam dany element strony.
Kod index.php
// tworzymy zmienna
var object = false;
// tworzymy obiekt XMLHttpRequest (dla IE jest troche inaczej, stad funkcja warunkowa)
if (window.XMLHttpRequest) object = new XMLHttpRequest();
else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
// ponizsza funkcja pobiera dane ze wskazanego zrodla (pliku lub skryptu php) do wskazanego
// DIVa poprzez obiekt XMLHttpRequest
function getData(dataSource, divID)
{
// kontynuuje wylacznie gdy obiekt nie jest zajety
if (object.readyState==4 || object.readyState==0)
{
// tworzy zmienna odpowiadajaca konkretnemu obiektowi na stronie
var obj = document.getElementById(divID);
// czyta z pliku lub wykonuje skrypt
object.open("GET", dataSource);
// definiuje metode obslugi odpowiedzi serwera
object.onreadystatechange = function()
{
// kontynuuje jesli transmisja zostala zakonczona powodzeniem
if (object.readyState == 4 && object.status == 200)
obj.innerHTML= object.responseText;
}
// wysyla zadanie do serwera
object.send(null);
}
}
// w ponizszej funkcji wywolujemy funkcje getData z odpowiednimi parametrami
// oraz wywolujemy ja sama rekurencyjnie po co okreslony czas (w naszym wypadku 1000 ms)
function odswiezaj()
{
getData('dane.php','dane');
setTimeout("odswiezaj()", 10000);
}
odswiezaj();
Natomiast w pliku dane.php sprawdzam, jeżeli status = 1 to chciałbym, aby otworzyć nowe okno z linkiem.
Kod dane.php:
<?php
echo "<script type='text/javascript'>window.open('http://strona.pl', 'nazwa').focus();</script>";
}
Na stronie index.php jeżeli jest spełniony warunek wyświetli się napis "ok" natomiast nowe okno z linkiem się nie otworzy, a żeby całość zadziałała to te nowe okno musi się otworzyć.
Proszę o pomoc.