Jak okroić Wykopywarkę ze zbędnego kodu JavaScript?

Autorzy serwisu Wykop udostępnili na łamach serwisu różnego rodzaju wklejki, które po umieszczeniu na blogach/stronach www mają zachęcać użytkowników do wykopywania danego materiału. Wszystko jest ładnie, pięknie i w ogóle cacy, ale… dlaczego wszystko jest napisane w JavaScript?

Jako człowiek starający się w miarę możliwości nie umieszczać na stronach skryptów JS, przepisałem całą Wykopywarkę w PHP :)

Standardowo kod Wykopywarki wygląda następująco:

<script language="javascript">
// wykopywarka wersja standardowa (72x65)
var wykop_url=location.href;	// Link do strony
var wykop_title=document.title;	// Tytuł strony (pobierany z <title>)
var wykop_desc=encodeURIComponent('Przykładowy opis');
var widget_bg='FFFFFF';
var widget_type='normal';
var widget_url='http://www.wykop.pl/widget.php?url='+(wykop_url)+'&title='+(wykop_title)+'&desc='+(wykop_desc)+'&bg='+(widget_bg)+'&type='+(widget_type);
document.write('<div><iframe src="'+widget_url+'" style="border:none;width:72px;height:65px;overflow:hidden;margin:0;padding:0;" frameborder="0" border="0"></iframe></div>'); </script>

Koszmar, prawda? ;) Jeżeli tylko mamy do dyspozycji serwer obsługujący PHP, możemy zastąpić ten kod obciążający przeglądarki naszych czytelników następującym kawałkiem kodu:

<?php
$wykop_url = rawurlencode('http://więcek.pl');
$wykop_title = rawurlencode('IT z ogonkiem');
$wykop_desc = rawurlencode('Taki blog o IT - tyle, że z ogonkiem...');
$wykop_bg = 'ffffff';
$wykop_type = 'compact';
$wykop_widget_url = 'http://www.wykop.pl/widget.php?url='.$wykop_url.'&title='.$wykop_title.'&desc='.$wykop_desc.'&bg='.$wykop_bg.'&type='.$wykop_type;
 
echo '<div><iframe src="'.$wykop_widget_url.'" style="border: none; width: 72px; height: 65px; overflow: hidden; margin: 0; padding: 0;" frameborder="0" border="0"></iframe></div>';
?>

I proszę bardzo – cała Wykopywarka napisana w całości w PHP :)

Dla osób chcących umieścić tą Wykopywarkę na blogach opartych o WordPress, wrzucę jeszcze Wykopywarkę w wersji instant, której kod wystarczy wkleić gdzieś w szablonie bloga (w pętli) i już powinien działać :)

<?php
$wykop_url = rawurlencode(get_permalink());
$wykop_title = rawurlencode(get_the_title());
$wykop_desc = rawurlencode(substr(strip_tags(get_the_content()), 0, 347).'...');
$wykop_bg = 'ffffff';
$wykop_type = 'compact';
$wykop_widget_url = 'http://www.wykop.pl/widget.php?url='.$wykop_url.'&title='.$wykop_title.'&desc='.$wykop_desc.'&bg='.$wykop_bg.'&type='.$wykop_type;
 
echo '<div><iframe src="'.$wykop_widget_url.'" style="border: none; width: 72px; height: 65px; overflow: hidden; margin: 0; padding: 0;" frameborder="0" border="0"></iframe></div>';
?>

Mam nadzieję, że komuś z Was to się przyda :) A przykład zastosowania przytoczonego tutaj kodu możecie zobaczyć poniżej (można sobie nawet kliknąć i zobaczyć, jak działa;)

Komentarze (10) do “Jak okroić Wykopywarkę ze zbędnego kodu JavaScript?”

  1. Custom pisze:

    Łukasz, zauważ, że JavaScript jest w tym wypadku wygodniejsze, gdyż można wykopać znalezisko bez potrzeby przeładowania strony.

  2. okhan pisze:

    A co jest złego w JavaScripcie, bo nie rozumiem?
    Może w następnej notce zobaczymy google analitycs w wersji php? ;)

    • Popracuj trochę na słabszej maszynie, to zrozumiesz co złego jest w JS ;) Każdy dodatkowy JS ładowany na stronie jest wtedy bardzo odczuwalny. Sam przez długi czas pracowałem na słabszym kompie, więc wiem jaka to katorga. Ale syty głodnego nie zrozumie :)

      No i skrypt w wersji PHP nie jest uzależniony od ustawień przeglądarki użytkownika.

    • Niektórzy (nie rozumiem tego, ale tak już po prostu jest) wyłączają JS w swojej przeglądarce. I co wtedy? Jak biedaczyna ma wykopać wpis? A tak jej (względnie mu) to umożliwiamy… ;)

  3. Witam,
    Gdzie muszę wkleić kod, żeby ktoś mógł wykopać wpis? :)

    Pozdrawiam.

Zostaw komentarz

  • RSS
  • Blip
  • Wykop
  • Facebook
  • Buzz
  • Vimeo
  • YouTube
  • Picasa