2011-03-28 103 views
7

Estoy intentando escribir un bookmarklet que marcará la página actual y guardará el enlace a la página actual en un servicio de back-end. Cuando hago clic en este bookmarklet, quiero que este bookmarklet aparezca como una pequeña ventana emergente en la parte superior derecha de la pestaña del navegador (adjuntar iframe a la página existente). Esta ventana emergente tendrá opciones para marcar la página actual. Además, habrá opciones para buscar mis marcadores, etiquetas, etc. en esta ventana emergente.Bookmarklet acercamiento

Hasta ahora, no he visto ningún bookmarklet (delicioius, pinboard, etc.). Aunque hay bookmarklets para publicar enlaces a varios servicios, no permiten buscar, consulte la lista existente de marcadores dentro de la misma ventana emergente. El usuario está obligado a ir al sitio de marcadores en una nueva pestaña para buscar, etc.

Me pregunto ¿hay alguna razón por la que no se hagan bookmarklets (popup dentro de una página existente) como este? ¿Hay alguna razón de seguridad para esto? ¿O será bloqueado por adblockers?

+0

sólo quería añadir cómo he implementado actualmente el bookmarklet: cuando se hace clic en el bookmarklet, un archivo js desde mi página se carga y se une un iframe a la corriente página. Luego realizo llamadas laterales al servidor y apunto la respuesta al iframe en mi js. – plspl

+0

así es como se hacen la mayoría de los bookmarklets. Estoy trabajando en un proyecto similar ... ¿sigues trabajando en esto ... parece tener casi 5 años? –

Respuesta

1

Tener un vistazo a estos bookmarklets http://googlesystem.blogspot.com/2007/07/useful-google-bookmarklets.html

javascript: (function() { 
    var a = window, 
    b = document, 
    c = encodeURIComponent, 
    d = a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=" + c(b.location) + "&title=" + c(b.title), "bkmk_popup", "left=" + ((a.screenX || a.screenLeft) + 10) + ",top=" + ((a.screenY || a.screenTop) + 10) + ",height=420px,width=550px,resizable=1,alwaysRaised=1"); 
    a.setTimeout(function() { 
     d.focus() 
    }, 
    300) 
})(); 
Cuestiones relacionadas