Interesujący problem.

Kolega zadał mi ciekawe pytanie: czy jest możliwość dodania na joggerze własnego opisu z gadu?

Kolega zadał mi ciekawe pytanie: czy jest możliwość dodania na joggerze własnego opisu z gadu?

  1. Pierwszy krok: stworzenie bramki gadu – posłużyłem się gotowym skryptem z http://forum.php.pl/index.php?showtopic=21568
  2. Zintegrowanie powstałego pliku z joggerem.

Moje pomysły są następujące:

  1. Użycie ajax’u do zmiany div’a przez document.getElementById() – moim zdaniem najbardziej eleganckie rozwiązanie, niestety gdy domeny są różne nie jest możliwe pobieranie danych z zewnętrznego serwera. Jest to występująca tutaj sytuacja.
  2. Wstrzyknięcie opisu przez include(‘plik’) w php – na joggerze niemożliwe do zrealizowania.
  3. Użycie iframe‘ów – skuteczne, ale niezgodne z specyfikacją xhtml.


Ktoś zna inne rozwiązanie?

Dla chętnych wersja AJAX:
Kod skryptu bramki – wystarczy uzupełnić numer bramki, hasło oraz sprawdzany numer – delikatnie zmodyfikowana wersja skryptu

Skrypt javascript – należy w nim zmienić zmienną adres – na położenie skryptu bramka.php, można też użyć tego skryptu, przesyłając metodą get poprzez zmienną numer swój numer gadu
Dla przykładu http://www.piio.info/opis.php?numer=1111111 zwróci w xml opis numeru 1111111

Aby dodać opis przez ajax do strony, dodajemy

  1. W części
  2. znacznik
    
    

    – uruchomienie funkcji po załadowaniu strony

  3. w miejscu gdzie ma się wyświetlać opis dodajemy div’a

Gotowe! Możemy cieszyć się własnym opisem z gadu na naszej stronie.

Ps. Oczywiście, skrypt nie będzie zwracał opisu jeśli używamy opcji ‘tylko dla znajomych, a bramka nie jest na naszej liście kontaktów.

4 komentarze do “Interesujący problem.”

  1. Po prostu zamiast rzucać XML-em opis, lepiej rzucić go po stronie serwera do postaci „skryptu” JS, w rodzaju var opis = 'costamcostam'; i następnie po prostu w szablonie Joggera dodać sobie <script src="sciezka/do/pobierania/opisu.js"> i napisać sobie funkcję, która zmienną opis wrzuci gdzie trzeba czy to przy onloadzie czy gdziekolwiek. Bez zabawy z Ajaksem. Dużo serwisów tak robi, tylko rzuca np. JSON zamiast stringa jak u mnie w przykładzie.

    A jak już się przejmować zgodnością, ładnością i tak dalej, to zamiast atrybutu onload w body lepiej dodać już to wywołanie gdzieś w funkcji JS 😉

  2. @kubarek: wychodzę z założenia, że skoro powstają standardy to pasowało by się ich trzymać 😉

    @Ktos: Rzeczywiście, niepotrzebnie zaprzęgnąłem kobyłę do tej roboty. Twój pomysł wygląda bardzo prosto i sensownie, muszę to wypróbować.
    Za dużo książek o AJAX’ie się naczytałem, i teraz próbuję wcielić przeczytane tam mądrości w życie.
    Dzięki za rozwiązanie.

Dodaj komentarz