2011-04-29 15 views

Respuesta

9
<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 
    $("a.jQueryBookmark").click(function(e){ 
    e.preventDefault(); // this will prevent the anchor tag from going the user off to the link 
    var bookmarkUrl = this.href; 
    var bookmarkTitle = this.title; 

    if (window.sidebar) { // For Mozilla Firefox Bookmark 
     window.sidebar.addPanel(bookmarkTitle, bookmarkUrl,""); 
    } else if(window.external || document.all) { // For IE Favorite 
     window.external.AddFavorite(bookmarkUrl, bookmarkTitle); 
    } else if(window.opera) { // For Opera Browsers 
     $("a.jQueryBookmark").attr("href",bookmarkUrl); 
     $("a.jQueryBookmark").attr("title",bookmarkTitle); 
     $("a.jQueryBookmark").attr("rel","sidebar"); 
    } else { // for other browsers which does not support 
     alert('Your browser does not support this bookmark action'); 
     return false; 
    } 
    }); 
}); 
</script> 

Este código se toma de Developersnippets!

/e:

Chrome no es compatible este tipo de acciones, ya que el nivel de seguridad puede ser roto.

+0

¿Cómo puedo hacer que funcione en Chrome? En Chrome, el mensaje de alerta ni siquiera se muestra ... – 585connor

+1

Para evitar que se produzca un error en Chrome, debe usar 'else if (window.external && window.external.AddFavorite)' ya que 'window.external' está definido en Chrome, pero no 'window.external.AddFavorite'. –

1

Prueba esto:

if (window.sidebar) // firefox 
    window.sidebar.addPanel(title, url, ""); 
else if(window.opera && window.print){ // opera 
    var elem = document.createElement('a'); 
    elem.setAttribute('href',url); 
    elem.setAttribute('title',title); 
    elem.setAttribute('rel','sidebar'); 
    elem.click(); 
} 
else if(document.all)// ie 
    window.external.AddFavorite(url, title); 
} 
1

Creo que el plugin de jquery Bookmark es lo que estás buscando. jBrowserBookmark le permite agregar funcionalidad a un sitio que permite agregar una página a la lista de boookmark de los navegadores. Esta característica es compatible con los navegadores Internet Explorer, Firefox, Opera y Konqueror. Puede obtenerlo here

7

Dado que Chrome no admite dicha acción, una solución podría ser verificar primero si el navegador en uso es Chrome y, de ser así, alertar al usuario de que la función de marcador no es compatible. Luego, para otros casos, el script provisto en DevelopersSnippets funciona bien.

Ejemplo:

$("a.bookmark").click(function(e){ 
    e.preventDefault(); // this will prevent the anchor tag from going the user off to the link 
    var bookmarkUrl = this.href; 
    var bookmarkTitle = this.title; 
    if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { 
      alert("This function is not available in Google Chrome. Click the star symbol at the end of the address-bar or hit Ctrl-D (Command+D for Macs) to create a bookmark.");  
    }else if (window.sidebar) { // For Mozilla Firefox Bookmark 
     window.sidebar.addPanel(bookmarkTitle, bookmarkUrl,""); 
    } else if(window.external || document.all) { // For IE Favorite 
     window.external.AddFavorite(bookmarkUrl, bookmarkTitle);   
    } else if(window.opera) { // For Opera Browsers 
     $("a.bookmark").attr("href",bookmarkUrl); 
     $("a.bookmark").attr("title",bookmarkTitle); 
     $("a.bookmark").attr("rel","sidebar"); 
    } else { // for other browsers which does not support 
     alert('Your browser does not support this bookmark action'); 
     return false; 
    } 
    }); 
Cuestiones relacionadas