Problem brzmi banalnie ale jak na razie taki dla mnie nie jest. Wysyłam POST przez jquery i chcę otrzymany wynik przekazać do zewnętrznej funkcji jako parametr adresu strony do otworzenia. Kodowo wygląda to mniej więcej tak:
$.post(URL, { parametr: wartosc },
function(data) {
wynik = data;
//wyświetlenie nowego okna
window.open(URL+wynik,"_blank");
})
.error(function() { alert('Wystapił błąd! Spróbuj ponownie.'); });
Problem polega na wyświetlaniu się tego nowe okna. Wszystko działa ok poza Chrome. Każda inna przeglądarka otwiera nowe okno jako nową kartę lub nowe okno, w Chrome okno otwiera się zamiast aktualnego... Zauważyłem, że wynika to w wykonania window.open wewnątrz $.post. Jeśli zrobię wywołanie przed albo po funkcji Chrome też wszystko prawidłowo wyświetla. Próbowałem deklarować globalne zmienne przed funkcją ale zmienna jakoś nie przekazuje wartości:
var wynik = null;
$.post(.....
wynik = data
....);
alert(wynik);
Daje w odpowiedzi null a nie wartość zwracaną przez POST.
Chciałem wywoływać okno przez nową funkcję jeszcze wewnątrz POST ale dalej otwiera w Chromie nowe okno na miejsce starego. Nie jest to na pewno problem błędnego wywołania window.open i parametrów. Chodzi wyłącznie o problem wywołania tej funkcji wewnątrz POST przez jquery. Przeszukałem sieć i żadne rozwiązanie u mnie nie działa. Potrzebuje pobrać dane z serwera (POST/GET) i wyświetlić stronę (zewnętrzną) z parametrem zwróconym z serwera. Jestem otwarty na wszelkie sugestie. Po kilku godzinach kombinowania ja się poddaję.