Ver Mensaje Individual
  #16 (permalink)  
Antiguo 12/06/2005, 14:26
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Estuve atando cabos. El MSIE usa AddFavorite() para guardar una dirección en los Favoritos; pero Mozilla no usa "AddBookmark". ( Ni Opera "AddHotList", pero esto lo veremos más abajo ).

Lo de sidebar es para abrir un panel a la izquierda que contenga "algo"; y en el caso de Mozilla es un documento. Este marco que se suma a la ventana existe en todos los navegadores, y que la ruta del contenido se agregue a los bookmarks es un consecuente ( o antecedente, si pensamos en el orden de ejecución ) pero de ninguna manera es el obetivo principal del script.

Me tomé un rato para buscar en Internet y descubrí que esta pregunta estaba repetida en varios foros, y en ninguna hay una explicación muy detallada de cómo funciona el addPanel, pero pude sacar algunas cosas en claro
En primer lugar, confirmé que se usa para guardar en el Bookmark, pero que no fue pensado orignalmente para eso.

También que maneja documentos con enlaces, que son abiertos en el panel lateral.

Que, como cualquier enlace, los de este documento pueden tener un target, que apunte hacia el frame principal ( o no ).
Aún no hay documentación sobe lo que puede ponerse en las últimas comllas de

addPanel( '', '', '' )

y no sé si admitirá un "target='_content'" pero algo así deberían inventarle.

Basándome en todo ésto, preparé el siguiente código, que no hace lo mismo que IE, pero -si funciona- se va a ver minimamente digno.

Antes que nada, hay que crear un documento con ( preferentemente ) varios enlaces a nuestro sitio, que puede tener descripciones de cada página. En el ejemplo se llamará MozBookmark.htm.

Código:
<html>
<body>
<h3>Agregar a Favoritos ...</h3>
Mensaje.<br />
<a href="http://www.forosdelweb.com/showthread.php?t=293723" target="_content"> "Agregar a Favoritos" no funciona en Opera </a>
<br /><br />
Foro.<br />
<a href="http://www.forosdelweb.com/forumdisplay.php?f=13" target="_content"> Javascript</a>
<br /><br />
Sitio.<br />
<a href="http://www.forosdelweb.com/index.php" target="_content"> Foros del Web</a>
<br /><br />
Autor. <br />
<a href="http://www.forosdelweb.com/member.php?userid=57002" target="_blank"> K3NNY</a>
<br />( Solamente usuarios registrados )
<br />

</body>
</html>
El último link apunta a una nueva ventana. En teoría, si usamos "target='_top'" debería abrirse en la ventana principal, no en el marco principal; pero en rigor de verdad, los paneles no son frames, y no sé cómo se llama la ventana del documento para apuntarle. Por supuesto que así tendríamos resuelto todo el problema y en Mozilla se vería igual que en IE.

En fin, el código dentro de nuestra página será

Código:
<a href="http://www.mi_sitio.net/" onclick="window.sidebar.addPanel( 'Bookmarks', 'http://www.mi_sitio.net/MozBookmark.htm', '' ) ;return false;">Agregar a Bookmark Mozilla.</a>
La ruta que está destacada en rojo hay que cambiarla por la dirección ( siempre absoluta ) del documento con los enlaces.
Y cruzar los dedos.

Con respecto a la pregunta original -sobre Opera- el equivalente al javascript sidebar es el HTML rel=''

Código:
<a href="www.mi_sitio.net" rel="sidebar">Agregar a Hot List Opera</a>
No sé si abre en el panel y también habrá que usar un documento intermedio. Pero de momento vamos a tratar de terminar con el Mozilla.

saludos

furoya

P.D.: y seguí pensando en apuntar a la ventana principal.

los próximos códigos son 2 chanchadas, pero sirven para probar que es posible. Los hice en IE y andan ( hay que cambiar _content por _main ). Los adapté para Mozilla y falta saber qué hacen

MozBookmark1.htm
Código:
<html>
<head>
<script>
function AbCe(){
window.location.href="javascript:void(_content=open('http://www.forosdelweb.com/index.php','_content'))"; 
window.close();
}
</script>
</head>
<body onload="AbCe()">
<h2> Un momento, por favor ...</h2>
</body>
</html>
MozBookmark2.htm
Código:
<html>
<head>
<script>
function AbCe(){
document.geElementById("enlace").click();
window.close();
}
</script>
</head>
<body onload="AbCe()">
<a id="enlace" href="http://www.forosdelweb.com/index.php" target="_content">Foros del Web.</a></body>
</html>
Y en nuestro documento

Código:
<a href="#" onclick="window.sidebar.addPanel( 'Bookmarks', 'http://www.mi_sitio.net/MozBookmark1.htm', '' ) ;return false;">MozBookmark 1</a> al Foro.
<br />
<a href="#" onclick="window.sidebar.addPanel( 'Bookmarks', 'http://www.mi_sitio.net/MozBookmark2.htm', '' ) ;return false;">MozBookmark 2</a> al Foro.