Ok, il codice proposto mi pare giusto. Volevo tuttavia affrontare un problema non tecnico ma che trovo comunque molto importante.
Il fatto di "aggiungere ai preferiti" e "impostare come pagina principale" non dovrebbero essere compiti o problemi di competenza del documento, quanto piuttosto del browser.
Per intenderci, se una cosa la sa già fare il browser, perchè ripeterla nella pagina web? Oltre a uno spreco di markup (e conseguente sporcatura dello stesso) credo si possa generare una confusione nell'utente.
Esso infatti potrebbe trovarsi nel dubbio quando vede che la stessa cosa può farla in due o più modi differenti. Quindi, a parer mio (ma non solo), occorre tener separate le competenze e non creare intrecci o invasioni di campo.