Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript] widget - tworzenie i wstawianie
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Na jakiej zasadzie działa wstawianie różnych widgetów na strony? np. okno rozmowy z gg

  1. <script type="text/javascript" src="http://widget.gadu-gadu.pl/getCode.php?id=token"></script>


Po zapisaniu tego w html, wyświetla się okno pobrane ze strony gadu-gadu.

Jak mógłbym coś takiego osiągnąć? Aby po podaniu kodu użytkownik miał możliwość wstawienia własnego okna.
Go to the top of the page
+Quote Post
Kubofonista
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 3
Dołączył: 16.05.2009
Skąd: LocalHost

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 16.05.2009, 11:12:48 ) *
Na jakiej zasadzie działa wstawianie różnych widgetów na strony? np. okno rozmowy z gg

  1. <script type="text/javascript" src="http://widget.gadu-gadu.pl/getCode.php?id=token"></script>



Zasada działania czegoś takiego jest prosta. Wklejając ten kod na swoją stronę wykonujesz zawarty tam JavaScript. W Twoim przykładzie jest napisane
Kod
document.write("");

Co akurat nie dodaje nic. Natomiast document.write('tresc'); ma wypluć "tresc" w miejscu załączenia kodu.
Samo generowanie widgetu po stronie widget.gadu-gadu.pl to już osobna sprawa. Można wygenerować w PHP zwyczajnie

  1. <?php
  2. $tresc = 'jakisciag'; // tresc ktora osoba wstawiajaca widget otrzyma
  3. echo "document.write('{$tresc}');"; // wyswietlenie tresci w formacie dla js
  4. ?>
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


hmm to aż takie proste? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

emm a jak zczytać z czegoś takiego zmienną GET?

  1. <script type="text/javascript" src="getCode.php?zmienna=wartosc"></script>


oraz jak wstawić odpowiedni napis/obrezek przy wyłączonym JS?

  1. <?php
  2. // wrazie braku js
  3. echo '<noscript>ten tekst widzi ktoś bez obsługi JavaScript</noscript>'; exit;
  4.  
  5. //odczyt zmiennej
  6. $zmienna = $_GET['zmienna'];
  7.  
  8. $tresc = '<div style="border:1px green solid;">:D<br />zxchjzbxcjhzxbchzxc<br />zxchjzbxcjhzxbchzxc<br />zxchjzbxcjhzxbchzxc</div>';
  9. echo "document.write('{$tresc}');";
  10. ?>


Ten post edytował !*! 16.05.2009, 13:09:47
Go to the top of the page
+Quote Post
Kubofonista
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 3
Dołączył: 16.05.2009
Skąd: LocalHost

Ostrzeżenie: (0%)
-----


W przypadku tego prostego kodu który napisałem noscript zastosuj inaczej, w kodzie html zanim załączysz kod ze script src
Co do załadowania w przypadku nie obsługiwania js - widget się wogóle nie załaduje ale to chyba logiczne


Ten post edytował Kubofonista 16.05.2009, 13:10:50
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Hmm nie mogę, bo jesli dam komuś do wstawienia kod

Cytat
<script type="text/javascript" src="getCode.php?zmienna=wartosc"></script>


to nie będę jeszcze wymagał aby wstawiał noscripta, dlatego chciałem to zastosować przy wykonywaniu... A odzyt zmiennej z linku podanego w <script> nie działa
Go to the top of the page
+Quote Post
Kubofonista
post
Post #6





Grupa: Zarejestrowani
Postów: 18
Pomógł: 3
Dołączył: 16.05.2009
Skąd: LocalHost

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 16.05.2009, 14:13:07 ) *
Hmm nie mogę, bo jesli dam komuś do wstawienia kod
to nie będę jeszcze wymagał aby wstawiał noscripta, dlatego chciałem to zastosować przy wykonywaniu... A odzyt zmiennej z linku podanego w <script> nie działa


Spróbój taki php:
  1. <?php
  2.  
  3. //odczyt zmiennej
  4. $zmienna = $_GET['zmienna'];
  5.  
  6. $tresc = "Ze zmiennej odczytalem wartosc: {$zmienna}";
  7. echo "document.write('{$tresc}');";
  8. ?>

Co do noscripta, coś kosztem czegoś. Nawet jakbyś dał noscript w tym kodzie php, to on się nie wykona bo przy braku javascripta cały kod
Kod
<script type="text/javascript" src="getCode.php?zmienna=wartosc"></script>

będzie olany

Ten post edytował Kubofonista 16.05.2009, 13:18:59
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Właśnie z odczytaniem zmiennych cos nie wychodzi, może opiszę co chcę uzyskać... daje komuś link do umieszczenia na swojej stronie <script>costam</script> dzięki czemu łaczy się z moim serwerm np. do pliku php, w który odbieram tą zienną ze znacznika <script>, obrabiam odpowiednio łacząc się z bazą, poczym wyświetlam całość dzięki document.write... aha i wszystkie dane które są w zmiennej $treść, muszą być w jednej linijce? Inaczej nie jest ona wczytywana.

Ten post edytował !*! 16.05.2009, 13:29:20
Go to the top of the page
+Quote Post
Kubofonista
post
Post #8





Grupa: Zarejestrowani
Postów: 18
Pomógł: 3
Dołączył: 16.05.2009
Skąd: LocalHost

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 16.05.2009, 14:28:26 ) *
Właśnie z odczytaniem zmiennych cos nie wychodzi, może opiszę co chcę uzyskać... daje komuś link do umieszczenia na swojej stronie <script>costam</script> dzięki czemu łaczy się z moim serwerm np. do pliku php, w który odbieram tą zienną ze znacznika <script>, obrabiam odpowiednio łacząc się z bazą, poczym wyświetlam całość dzięki document.write... aha i wszystkie dane które są w zmiennej $treść, muszą być w jednej linijce? Inaczej nie jest ona wczytywana.

Nie mam pomysłu czemu odczytanie zmiennej nie wychodzi. A wyświetla się "Ze zmiennej odczytalem wartosc:"?. U mnie działa poprawnie, z tym, że w src podaję pełny adres czyli w moim przypadku
Kod
<script type="text/javascript" src="http://localhost/tt.php?zmienna=wartosc"></script>

Co do treści, nie muszą być w innej lini
  1. <?php
  2. $tresc = ''; // definicja treści
  3.  
  4. $tresc .= 'abc'; // dopisanie do treści
  5.  
  6. $tresc .= 'def'; // nastepne dopisanie
  7.  
  8. echo "document.write('{$tresc}');"; // wyświetlenie
  9. ?>

Dopisania mają ".=" zamiast "=" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Kubofonista 16.05.2009, 13:43:14
Go to the top of the page
+Quote Post
!*!
post
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Emm racja, było trzeba podać bezpośredni link do pliku. A co do treści to chodzi mi o to:

  1. <?php
  2. //poprawnie
  3. $tresc .= '<div>blebleble</div>';
  4.  
  5. //wywala cały js jakby był wyłączony
  6. $tresc .= '<div>
  7. blebleble
  8. </div>';
  9.  
  10. //tak samo jest przy próbie połaczenia z baza
  11. $query = mysql_query("...");
  12. $dane = mysql_fetch_array($query);
  13. ?>


Ten post edytował !*! 16.05.2009, 14:32:55
Go to the top of the page
+Quote Post
Kubofonista
post
Post #10





Grupa: Zarejestrowani
Postów: 18
Pomógł: 3
Dołączył: 16.05.2009
Skąd: LocalHost

Ostrzeżenie: (0%)
-----


Zjadłeś pierwsze $tresc = ''; oraz końcowe echo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 18:34