Skryptozakładka
Skryptozakładka (ang. bookmarklet, favlet, favelet) – niewielki skrypt napisany w języku JavaScript przechowywany jako adres URL zakładki w przeglądarce internetowej lub jako adres odsyłacza na stronie internetowej. Skrypt ten uruchamiany jest w momencie kliknięcia takiej specjalnej zakładki.
Skryptozakładki rozszerzają standardowe możliwości przeglądarki, podobnie jak rozszerzenia, ale w przeciwieństwie do nich nie korzystają z podwyższonych przywilejów uruchamiania kodu JavaScript — kontekstem wykonania skryptozakładki jest oglądana właśnie strona WWW, dzięki czemu używanie bookmarkletów jest bezpieczniejsze niż korzystanie z rozszerzeń.
Za pomocą skryptozakładek można na przykład:
- Modyfikować sposób wyświetlania strony przez przeglądarkę (zmiana rozmiaru czcionki, koloru tła itp.)
- Wydobywać dane ze strony (np. odsyłacze, obrazki, tekst)
- Uruchamiać wyszukiwarkę, pobierając zapytanie od użytkownika lub bezpośrednio ze strony
- Zgłaszać stronę do serwisu walidującego
- Ściągać różne filmy ze stron np. Youtube.com lub wrzuta.pl
Przykład
[edytuj | edytuj kod]Poniższy przykład jest skryptozakładką, która wyszukuje zaznaczony tekst na Wikipedii. Jeśli żaden tekst nie jest zaznaczony wyświetla okno modalne, w które można wpisać szukany tekst[1].
javascript:(function() {
function se(d) {
return d.selection ? d.selection.createRange().text : d.getSelection()
}
s = se(document);
for (i=0; i<frames.length && !s; i++) {
s = se(frames[i].document);
}
if (!s || s=='') {
s = prompt('Enter%20search%20terms%20for%20Wikipedia','');
}
open('http://en.wikipedia.org' + (s ? '/w/index.php?title=Special:Search&search=' + encodeURIComponent(s) : '')).focus();
})();
Przypisy
[edytuj | edytuj kod]- ↑ Testowane w przeglądarkach: Mozilla Firefox, Opera, Safari i Chrome. Nie działa w IE7 i IE8. Źródło: Alex Boldt
Linki zewnętrzne
[edytuj | edytuj kod]Przykładowe skryptozakładki do przeglądarki Firefox
- SubSimple baza skryptozakładek
- Centricle.com baza skryptozakładek. centricle.com. [zarchiwizowane z tego adresu (2006-05-29)].