[Javascript]Aggiungere ai favoriti una pagina

Ho cercato in lungo e in largo uno script cross browser per aggiungere una pagina tra i favoriti,ma la panacea di tutti mali non c'è. O almeno io non l'ho trovata.

Così notando che la finestrella dei segnalibri in Firefox e Opera si apre cliccando semplicemente su un link che abbia un attributo "rel" di valore "sidebar",ho reso ultrasemplice lo script che andrò a presentare.

EDIT: ho poi scoperto che un link siffatto in Firefox apre la pagina nella sidebar come intuitivamente si poteva pensare (questa discussione sembra indicare che addirittura non ci sia una funzione adeguata) ,per IE nessun problema mentre Opera mette un flag sull'apertura della pagina nella sidebar,che si può facilmente togliere.

Le fonti a cui mi sono ispirato (le migliori che sia riuscito a trovare) sono:

Lo script

Mettere un riferimento allo script sottostante nell'header della pagina:

// scegli tu titolo e URL
function bookmarksite(title,url){
if (window.sidebar) { // firefox
window.sidebar.addPanel(title, url, "");
} else if(document.all){ // ie
window.external.AddFavorite(url, title);
}
}

// usa quelli presenti
function bookmarksite(){
var title = document.title;
// Blogger - Replace with <$BlogItemTitle$>
// MovableType - Replace with <$MTEntryTitle$>

var url = document.URL;
// Blogger - Replace with <$BlogItemPermalinkURL$>
// MovableType - Replace with <$MTEntryPermalink$>
// WordPress - <?php bloginfo('url'); ?>
if (window.sidebar) {// firefox
window.sidebar.addPanel(title, url, "");
} else if(document.all) {// ie
window.external.AddFavorite(url, title);
}
}


Creare poi un link del genere:



<a href="#" title="Metti tra i preferiti questa pagina!" onclick="if(document.all) bookmarksite();" rel="sidebar">

In pratica richiamiamo la funzione bookmarksite solo se si tratta di Internet Explorer. Notare che ad ogni modo,la funzione bookmarksite() può funzionare anche per Firefox. Una DEMO qui.

A mio avviso è il metodo più semplice per ottenere ciò che vogliamo ottenendo compatibilità con i 3 maggiori browser (IE - Firefox - Opera). non ho potuto sperimentarlo su Safari (dove immagino non andrà). Se qualcuno volesse farmi sapere una funzione per adattarlo al Mac ne sarei felice :) Lasciate pure un commento qui sotto o scrivetemi una mail!

2 comments:

dividebyzero ha detto...

Cavolo, utile. Aggiunto ai delicious!

Christian ha detto...

@ViK: si carino però questa cosa che mi si apre nella sidebar in Firefox...mmm non me lo fa gustare :-D

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger