Bookmarklet
Un bookmarklet este un mic program JavaScript care poate fi stocat ca o adresă URL normală în marcaje ( marcaje în engleză) în cele mai populare browsere web sau în hyperlinkurile unei pagini web. Bookmarklet-urile se mai numesc favlets sau favelets datorită faptului că Internet Explorer folosește termenul „Favorite” („favorite” în italiană) pentru a indica marcajele.
Scopul marcajelor este de a putea oferi utilizatorilor o metodă practică și imediată pentru a efectua o anumită operație (de exemplu, utilizați un serviciu web sau efectuați o operație specifică pe pagina pe care o vizitați); operațiunea efectuată este în mod normal legată de site-ul care lansează bookmarklet-ul și este o simplă comandă rapidă pentru a utiliza serviciile web oferite de site-ul care a dezvoltat bookmarklet-ul.
Concepte
Browserul utilizează URI-uri pentru marcaje și atributul href
al unei etichete <A>
. Prima parte a URI-ului ( http:
:, file:
sau ftp:
specifică tipul de serviciu și formularul pentru restul șirului. Cu toate acestea, browserele implementează un prefix javascript:
care pentru analizor este la fel ca orice alt URI. Intern browserul identifică protocolul JavaScript și, în loc să folosească restul șirului pentru a prelua pagina de încărcat, execută șirul ca program și folosește șirul rezultat ca o pagină nouă pentru a se deschide.
Scriptul executat are acces la pagină și îl poate citi și modifica. Dacă operațiunea returnează mai degrabă un tip nedefinit decât un șir, nu se încarcă nicio pagină nouă și singurul efect este să rulați codul pe pagină.
Exemple
Atunci când este folosit ca destinație a unui marcaj, următorul șir (returnările de căruță au fost adăugate pentru a ușura citirea) caută pe acesta.wikipedia.org textul selectat în browser sau, dacă nu este selectat nimic, va afișa o mască unde să inserați un text pentru a căuta. Acest bookmarklet funcționează în Firefox și Konqueror :
javascript : ( function () {
q = document . getSelection ();
if ( ! q ) q = prompt ( 'Wikipedia:' );
dacă ( q ) locație . href = 'http://it.wikipedia.org/w/wiki.phtml?search=' + escape ( q );
}) ()
Această versiune funcționează pe browserul Safari :
javascript : nul (
q = prompt ( 'Wikipedia:' , getSelection ()));
if ( q ) void ( locație . href = 'http://it.wikipedia.org/w/wiki.phtml?search=' + escape ( q ))
Această versiune funcționează pe Windows Internet Explorer :
javascript : ( function () {
q = document . selecție . createRange (). text ;
if ( ! q ) q = prompt ( 'Wikipedia:' , '' );
dacă ( q ) locație . href = 'http://it.wikipedia.org/w/wiki.phtml?search=' + escape ( q );}) ()
Următorul exemplu ilustrează o schimbare radicală a aspectului acestei pagini și funcționează prin adăugarea unei foi de stil integrate care setează marja dreaptă la 45%:
javascript : ( function () {
var newSS , styles = 'body {margin-left: 0%; marginea-dreapta: 45%;} ' ;
if ( document . createStyleSheet ) {
document . createStyleSheet ( % 22 javascript : '% 22 + stiluri +% 22' % 22 );
} altceva {
newSS = document . createElement ( „link” );
newSS . rel = 'foaie de stil' ;
newSS . href = 'date: text / css,' + escape ( stiluri );
document . getElementsByTagName ( % 22 head % 22 ) [ 0 ]. appendChild ( newSS );
}
}
) ()
Următorul exemplu ia toate imaginile de pe pagina curentă și le mută în jurul paginii:
javascript :
R = 0 ;
x1 = .1 ; y1 = .05 ; x2 = .25 ; y2 = .24 ; x3 = 1,6 ;
y3 = .24 ; x4 = 300 ; y4 = 200 ; x5 = 300 ; y5 = 200 ;
DI = document . imagini ;
DIL = DI . lungime ;
funcția A () {
pentru ( i = 0 ; i - DIL ; i ++ ) {
DIS = DI [ i ]. stil ;
DIS . position = 'absolut' ;
DIS . stânga = Math . sin ( R * x1 + i * x2 + x3 ) * x4 + x5 ;
DIS . sus = Math . cos (R * y1 + i * y2 + y3) * y4 + y5
}
R ++
}
setInterval ( 'A ()' , 5 );
nul ( 0 );
Istorie
Termenul bookmarklet a fost inventat de Steve Kangas de la www.bookmarklets.com, care a început să le creeze dintr-o idee sugerată în Ghidul JavaScript al Netscape Communications Corporation . Termenul favelet a fost folosit de Tantek Çelik într-un e-mail personal din 6 septembrie 2001 . Brendan Eich , unul dintre dezvoltatorii JavaScript de la Netscape, a dat această definiție a invenției sale de adrese URL javascript:
::
„A fost o caracteristică deliberată în acest sens: am inventat URL-ul În special, am făcut posibilă generarea unui nou document încărcând, de exemplu, |
( Brendan Eich ) |