Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]Czy ramka się już załadowała
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
athabus
Witam,
mam problem z restrykcjami bezpieczeństwa w przeglądarkach.

Pisze aplikację, która musi wykonać automatycznie ~50 requestów typu get - dokładniej chodzi o codzienne złożenie zamówienia w hurtowni, która udostępnia dla swoich klientów sklep internetowy. Sprawa wygląda tak, że pracownik generuje produkty do zamówienia, a następnie przeglądarka "sama" powinna dodać wybrane produkty do koszyka, czyli dla każdego produktu wykonać rządanie get z odpowiednimi parametrami.

Z pewnych powodów nie mogę wykonać tego za pomoca curl - musi to być oparte o przeglądarkę.

Przyjąłem takie założenie, że w przeglądarce wyświetlą się dwie ramki - jedna z mojej domeny z produktami do zamówienia i odpowiednim skryptem js i druga ze stroną hurtowni.
Następnie JS będzie wykonywał dla każdego produktu odpowiednie rządanie na ramce hurtownii - jedyny problem to jak sprawdzić czy strona w ramce została załadowana (przypominam, że jest to inna domena)? Chce uniknąć sytuacji, że niektóre produkty nie zostaną zamówione. Nie potrzebuje zawartości tej ramki - chcę tylko wiedzieć, czy treść została załadowana.

Będę wdzięczny za podpowiedzi.



woj_tas
Nie dostaniesz się js-em do ramki wczytanej z innej domeny.
athabus
Tak z tego zdaję sobie sprawę, ale myślałem że jest jakaś możliwość obejścia. Gdzieś czytałem, że można wyłączyć w firefox'ie to zabezpieczenie, ale nie udało mi się znaleźć konkretnego rozwiązania - to by mnie urządzało, bo aplikacja nie jest przeznaczona dla szerokiego grona użytkowników.

Tymczasem jednak znalazłem jedno obejście. Ramka może implementować zdarzenie onload - czyli mogę po załadowaniu ramki z obcą treścią oczekiwać jakiegoś feedbecku, który zdefiniuję w onload. Spróbuję pójść tym tropem bo mam wrażenie, że uda mi się za pomocą tego osiągnąć co trzeba.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.