Wyświetlenie fragmentu strony cudzej strony na własnej.

0

Chcę na swojej stronie wyświetlać plan zajęć na bieżący dzień.
Mam nawet już odpowiednie wyrażenie regularne w javascripcie (regexp) tylko niewiem jak je skojarzyć z tą stroną.

0

Faktycznie, nie da się w samym JavaScripcie ściągnąć i sparsować (odczytać) HTML z innej domeny.

Do czegoś takiego nadawałby się idealnie Ajax (obiekt XMLHttpRequest) -- za jego pomocą można wysłać żądanie i odczytać tekst odpowiedzi. Tyle że on właśnie ma to zabezpieczenie (zwane Same Origin Policy), że żądania możesz słać tylko do swojej domeny. Czyli nie np. z domeny swojej stronki do domeny szkolnej. Umożliwienie JavaScriptowi całkowicie swobodnej komunikacji z innymi serwerami stanowiłoby poważną lukę bezpieczeństwa.

Są metody, żeby to obejść, ale nie takie super łatwe.

Możesz np. użyć metody zwanej JSONP (google it!). Ale do tego strona Twojej szkoły musiałaby Ci udostępnić swoiste "API". Metoda ta nie jest ograniczona przez Same Origin Policy, bo opiera się na pobieraniu i wykonywaniu skryptów JavaScript, wczytanych za pomocą tagów <script>. To działało od zawsze i działa również teraz, ale nie da się w ten sposób odczytać treści dokumentu HTML.

Inna opcja: postawienie na swojej stronie swoistego proxy np. w PHP. Czyli: JavaScript na Twojej stronie wysłałby żądanie do skryptu PHP, który również jest na Twojej stronie (więc Same Origin Policy to przepuści). Ale skrypt PHP wysłałby swoje żądanie do serwera szkoły i wyświetlił odpowiedź za pomocą zwykłego echo. Ta odpowiedź powędrowałaby do Twojego JavaScriptu i ją mógłbyś już odczytać.

Aha: w tym kolejnym poście zadałeś konkretne pytanie, więc nie zostałeś potraktowany jak leń. Jeśli chcesz się uczyć JavaScriptu, to świetne -- jest spore wzięcie na programistów tego języka i jeszcze przez parę ładnych lat się to nie zmieni.

1 użytkowników online, w tym zalogowanych: 0, gości: 1