Foros del Web » Programando para Internet » Javascript »

"Agregar a Favoritos" no funciona en Opera

Estas en el tema de "Agregar a Favoritos" no funciona en Opera en el foro de Javascript en Foros del Web. [EDIT] Quisiera agradecer a Furoya por armar un script Javascript para agregar la pagina a los favoritos. Tanto en IE como en Firefox es mediante ...

  #1 (permalink)  
Antiguo 29/04/2005, 17:39
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
"Agregar a Favoritos" no funciona en Opera (AHORA SI FUNCIONA)

[EDIT]

Quisiera agradecer a Furoya por armar un script Javascript para agregar la pagina a los favoritos. Tanto en IE como en Firefox es mediante un link, el cual agrega una entrada en los favoritos con la URL y el titulo prestablecidos; y en Opera muestra el texto "Apretar Ctrl+T". Pueden ver el script aca.

[/EDIT]

Vi un monton de Scripts para agregar la pagina a los favoritos pero ninguno me funciona en Opera. Consegui uno que me funciona en IE y en Firefox, pero no en Opera:

Código:
<script type="text/javascript">

/***********************************************
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}

</script>
<a href="javascript:bookmarksite('Dynamic Drive', 'http://www.dynamicdrive.com')">Bookmark this site!</a>
Lo ideal seria que al hacer click se abra automaticamente el recuadro de nuevo bookmark, pero si no hay forma entonces necesitaria que el script reconozca que navegador usa y si es opera que le diga "Aprete Control+D".

Alguien conoce algun buen script que funcione en todos?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.

Última edición por K3NNY; 21/05/2005 a las 00:39 Razón: se soluciono el problema
  #2 (permalink)  
Antiguo 29/04/2005, 19:50
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Hola K3NNY :

Qué buena pregunta !

También quisiera saber cómo se guardan enlaces en Opera.

Con respecto a lo de "Aprete Control+D" ; no estoy seguro de si el Op reconoce

document.all

Si no lo hace , sería suficiente con agregar

Código:
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
else alert("Aprete Control+D")
saludos

furoya
  #3 (permalink)  
Antiguo 02/05/2005, 13:54
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
Uhm, no, lamentablemente no funciono. Alguien tiene alguna idea de como hacer para guardar una web en los bookmarks de opera?
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #4 (permalink)  
Antiguo 03/05/2005, 07:57
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
me quedaron 2 dudas y empecé a buscar.

Una es si el código era efectivamente CTRL+D; y no, no siempre.
La otra es si Opera ignora el document.all, y por tu mensaje supongo que lo reconoce, de otra forma saltaria el alerta.

Encontré un par de enlaces que te pueden servir.

FireFox and adding favorites with Javascript

How to create sidebar panels

saludos

furoya
  #5 (permalink)  
Antiguo 03/05/2005, 09:29
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
En el primer link que pusiste hay un script muy interesante que detecta el browser...

Código:
<script type='text/javascript'>

var IEstring = "<a href='javascript:window.external.addFavorite"
IEstring += "(location.href,document.title);' title='Add to Favorites'>Favorites<\/a>" ;
var NSstring = "Click [Ctrl + D] ";
var OPstring = "Click [Ctrl + T]";
var OTHstring = "Bookmark this page!"
var whichString = OTHstring ;
var agt = navigator.userAgent.toLowerCase();
var app = navigator.appName.toLowerCase();
var ieAgent = agt.indexOf('msie');
var nsAgent = app.indexOf('netscape');
var opAgent = app.indexOf('opera');
if (ieAgent!= -1) { whichString = IEstring; } else if (nsAgent!= -1){ whichString = NSstring; } else if (opAgent!= -1){whichString = OPstring; }
document.write(whichString)
-->
</script>
...el problema es que para el firefox aparece el texto "Click [Ctrl + D]". Habria que buscar la forma de meter el primer codigo que puse (que funcionaba en firefox). Otra cosa que acabo de descubrir: Tenia al opera configurado para que se identifique como IE6. Ahora lo puse para que se identifique como opera, y con el muevo script me muestra el texto "Click [Ctrl + T]" (el primer script que puse sigue sin funcionar).

PD: Muchisimas gracias furoya, con el script que encontraste vos vamos a poder armar uno multibrowser (Firefox+IE+Opera)...
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #6 (permalink)  
Antiguo 06/05/2005, 18:14
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Mmmm... Seguramente va a salir; pero eso de discriminar navegadores por "nombre" como en el primer enlace no es tan fácil.

El segundo muestra una especie de addPanel , que no sé si Opera reconocerá como sidebar. Porque identificándose como IE sí interpreta el document.all.

Veamos. Si el navegador dice Opera no hay duda : es Opera.
Pero cuando se identifica como IE, también dice MSIE, pero sigue siendo Opera, así que habrá que ser más precisos con el escript.

detectar al navegador OPERA

Lo mismo pasa con otros navegadores. Si buscamos Mozilla, el Internet Explorer se identifica

Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)

por lo que también se puede confundir.

Vamos a intentar con ésto, aunque la prueba final será con cada uno de los navegadores.

Código:
 
<script>
var ident = navigator.userAgent.toLowerCase();
var texto= ((ident.indexOf("msie") == -1) && (ident.indexOf("opera") == -1) && (ident.indexOf("mozilla") != -1)) ? "moz" : 
(ident.indexOf("opera") != -1) ? "op" : 
((ident.indexOf("msie") != -1) && (ident.indexOf("opera") == -1)) ? "msie" : 
"otro";

alert(texto);
</script>
Aquí se ve cómo reconoce a cada navegador. Ahora habría que cambiar el texto por un mensaje o enlace en el documento.

Código:
 
<html>
<head>
<title></title>
<script>
var url = ""; /*aquí la url*/
var title = ""; /*aquí el título*/

var ident = navigator.userAgent.toLowerCase();
var texto= ((ident.indexOf("msie") == -1) && (ident.indexOf("opera") == -1) && (ident.indexOf("mozilla") != -1)) ? "<a href = \"javascript:window.sidebar.addPanel(title, url, \'\');\">A Favoritos.</a>" : 
(ident.indexOf("opera") != -1) ? "Aprete [CTRL] + [T]." : 
((ident.indexOf("msie") != -1) && (ident.indexOf("opera") == -1)) ? "<a href = \"javascript:window.external.AddFavorite(url, title);\">A Favoritos.</a>" : 
"Guarde esta Página.";

function guarda(){
document.getElementById("boton").innerHTML = texto;
}
</script>
<style>

</style>
</head>
<body onload="guarda()">
<div id="boton"></div>
</body>
</html>
Lamentablemente yo solo puedo probarlo en IE. Si tienes un Opera o un Mozilla nos sacamos la duda.

saludos

furoya
  #7 (permalink)  
Antiguo 20/05/2005, 19:52
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
Resultado del testeo...

IExplorer 6.0:
Firefox 1.0.4:
Opera 7.54:

...furoya, sos mi idolo.

PD: Dentro de poco lo voy a probar con Opera 8 (que seguro anda) y Netscape 8

[EDIT]

Como era de esperarse en el Opera 8 tambien aparece el "Aprete Ctrl+T"

[/EDIT]
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.

Última edición por K3NNY; 21/05/2005 a las 00:30
  #8 (permalink)  
Antiguo 20/05/2005, 22:29
Avatar de Hurling  
Fecha de Ingreso: noviembre-2004
Ubicación: Córdoba-Argentina
Mensajes: 368
Antigüedad: 20 años
Puntos: 0
Excelente trabajo Furoya, hace tiempo que venia buscando este script funcional.
__________________
Algo esta pasando en Foro Virtual Comunidad de amigos.
  #9 (permalink)  
Antiguo 29/05/2005, 12:50
Avatar de HeckSquare  
Fecha de Ingreso: marzo-2002
Ubicación: Tenerife
Mensajes: 136
Antigüedad: 22 años, 8 meses
Puntos: 0
hola

el último script de furoya añade la página que quieras en tus marcadores de Firefox, pero al abrirla lo hace a un cuarto de pantalla (una cosa bastante extraña), a ver si alguien sabe porqué es y damos con la solución.

Saludos!
__________________
Marchaymas.com ... Fiestas y Conciertos en Tenerife! ;-)
  #10 (permalink)  
Antiguo 30/05/2005, 19:43
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
HeckSquare tiene razon, no es que la abre a cuarto de pagina, sino que la abre en el sidebar del Firefox, en vez de un tab normal. Eso no pasaba con el otro script, habria que verlo... si consigo resolverlo aviso, aunque yo esperaria por el mago furoya...

PD: Gracias HeckSquare por avisar de este pequeño bug
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #11 (permalink)  
Antiguo 01/06/2005, 06:28
Avatar de HeckSquare  
Fecha de Ingreso: marzo-2002
Ubicación: Tenerife
Mensajes: 136
Antigüedad: 22 años, 8 meses
Puntos: 0
De nada,

Me parece un código muy útil y es una pena que no funcione correctamente.

Saludos!
__________________
Marchaymas.com ... Fiestas y Conciertos en Tenerife! ;-)
  #12 (permalink)  
Antiguo 01/06/2005, 19:48
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Hola de nuevo :

K3NNY : gracias por probar el código. Como mencioné más arriba, es la mejor manera de saber si algo funciona.

Yo no me preocuparía por Netscape, ya está discontinuado y no sé si tiene soporte. Alguien se quejó en otro mensaje porque sacaron de línea el sitio oficial donde estaba el tutorial de JavaScript. Una pena, pero ya fue. Ahora debemos tomarlo como experiencia para saltar antes de que desaparezca otro navegador en las fauces de sus competidores.

HeckSquare : eso del tamaño es muy curioso. No tengo un Mozilla a mano y no se me ocurre por qué puede ser.¿ Cambia el tamaño de la ventana, o la restaura ? ¿ Es solamente con el código que puse, o con los otros también ? ¿ Ocurre lo mismo con otras páginas guardadas en el Bookmark, o nada más con las que guarda el escript ?.

Recuerdo que JavierB () puso otra versión el código hace un tiempo

Favoritos y Pagina de Inicio
pero no se mencinó nada sobre un resize, ni de agregar algún atributo al escript para manipular el tamaño de la ventana ( aunque al final hay espacio para poner algo ...).

En el caso de Internet Explorer, los Favoritos son accesos diectos guardados en una carpeta, lo que hace más fácil meterles atributos que interactúen con el sistema operativo. Pero -creo recordar- Netscape guardaba sus Bookmarks como enlaces dentro de un documento, y Mozilla debe haber heredado el método; allí es más dificil darle medidas a la ventana. Cuanto mucho, se le puede agregar un target.

Lo de guardar cualquier página es cierto, la idea es escribir la dirección propia; pero para usar el mismo script en todo el sitio ( desde un archivo externo ) se puede cambiar

Código:
var url = top.location.href;
var title = top.window.document.title;
o
Código:
var url = self.location.href;
var title = self.window.document.title;
Los 2 funcionan igual, pero si la página está en un frame, top toma los valores de la página que la contiene y self de la página donde está el enlace.

saludos

furoya

P.D. : Este mensaje fue escrito antes de los últimos aportes y está desactualizado. Lo posteo igual, pero agrego alguna idea que se me ocurre ahora que los leo. ¿ qué pasa si cambiamos el enlace de Mozilla por
"<a href = \"#\" onclick=\"window.sidebar.addPanel(title, url, \'\');\">A Bookmark.</a>" ?

Última edición por furoya; 03/06/2005 a las 07:52 Razón: corregir el último código.
  #13 (permalink)  
Antiguo 02/06/2005, 00:23
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
Desacuerdo

No funciona, es lo mismo, al abrir la pagina se carga en el sidebar del firefox. Va a haber que dejar el texto nomas...
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #14 (permalink)  
Antiguo 03/06/2005, 03:55
Avatar de HeckSquare  
Fecha de Ingreso: marzo-2002
Ubicación: Tenerife
Mensajes: 136
Antigüedad: 22 años, 8 meses
Puntos: 0
Furoya, a lo que yo me refería es a lo que comenta K3NNY, la página se abre en el sidebar de Firefox....

No hay otra solución???

__________________
Marchaymas.com ... Fiestas y Conciertos en Tenerife! ;-)
  #15 (permalink)  
Antiguo 03/06/2005, 09:10
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
No, si funciona en los ejemplos anteriores, tiene que funcionar en éste.

Corregí la post data de mi mensaje previo porque me equivoqué al copiar, pero no creo que eso lo resuelva.

La última prueba que se me ocurre es no poner el código dentro de los enlaces, sino en funciones dentro del head, como hacen los ejemplos que andan. Los "enlaces" serían onclick="guardaBookMark()", y la funcion sería igual a la que sí trabaja

Código:
 

function guardaBookMark(){
window.sidebar.addPanel(title, url, "");
}
Insisto, estoy trabajando a ciegas. Voy a conseguir un Firefox y destriparlo para ver qué pasa ( )

Gracias a todos por los aportes.

saludos

furoya
  #16 (permalink)  
Antiguo 12/06/2005, 14:26
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
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.
  #17 (permalink)  
Antiguo 12/06/2005, 17:51
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 20 años, 8 meses
Puntos: 20
Probe los 3 que pusiste y todos abren el panel lateral. El primero carga en el panel lateral la pagina con un link al mensaje, al foro, etc. El segundo dice "Un momento, por favor" y carga en el tab que tenga foco este foro. En tecero carga en el panel lateral un link al foro...
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #18 (permalink)  
Antiguo 13/06/2005, 03:25
Avatar de HeckSquare  
Fecha de Ingreso: marzo-2002
Ubicación: Tenerife
Mensajes: 136
Antigüedad: 22 años, 8 meses
Puntos: 0
la cosa parece estar difícil :(

No se yo... si va a ver q poner (Ctrl+T) y listo

Saludos
__________________
Marchaymas.com ... Fiestas y Conciertos en Tenerife! ;-)
  #19 (permalink)  
Antiguo 14/06/2005, 10:54
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Bueno, el primero debe abrir en el panel lateral. Como ya expliqué, addPanel agrega ese "marco" y abre los documentos allí. Pero los enlaces se deben abrir en el panel principal ( tienen target = '_content' ). El código es para eso.

Los 2 últimos que agregué también abren al lado ( insisto, como el código sirve para eso, es inevitable ), pero quería que una vez abierto enviaran al panel derecho la página del foro, y después se cerrara el izquierdo. No entiendo bien lo de "carga en el tab que tenga foco este foro.", K3NNY; pero supongo que no carga en el derecho ni se cierra el izquierdo.

Hay que probar otros métodos hasta dar con uno que acierte al content desde un javascript ( ahora se me ocurre que document.href = 'http://www.forosdelweb.com/' es otro para probar ). Debe funcionar onload.

Lo de cerrarse, en IE funcionaba bien. ¿ Qué error dice la connsola javascript de Mozilla ?. puede que no entienda la línea anterior de escript y se clave, por eso después no cierra.

Lo del Opera tambien funciona en Firefox. No sería mala idea pedir a linuseros y mac-users que nos pasen los códigos para guardar enlaces de Konqueror y Safari -y también cómo se identifican esos navegadores-. Ah!, me olvidaba, en los HotList se guarda el título que tenga el enlace, así que al código para Opera hay que agregarle

Código:
title = 'Un titulo'
Eso se me pasó.

Gracias por mantener el interés.
  #20 (permalink)  
Antiguo 17/06/2005, 04:59
Avatar de HeckSquare  
Fecha de Ingreso: marzo-2002
Ubicación: Tenerife
Mensajes: 136
Antigüedad: 22 años, 8 meses
Puntos: 0
Bueno, esperemos a ver si alguien más nos echa un cable.

Creo que sería interesante dar con la solución.

Gracias por tu trabajo, furoya.

Saludos!
__________________
Marchaymas.com ... Fiestas y Conciertos en Tenerife! ;-)
  #21 (permalink)  
Antiguo 29/08/2005, 10:55
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
De nada HeckSquare; aún no terminamos.

¿Alguien sabe cómo guardar con el addPanel( '', '', '' ) un documento local? Sólo puedo guardar rutas con http:, no con file:.

No tengo cómo subir y modificar el panel de enlaces a un servidor y por lo tanto no puedo probar cómo se cierra después de abrir un link en el principal.

Ya vi que Mozilla usa el mismo Bookmarks.html que NS, y en los enlaces guardados con el escript agrega WEB_PANEL="true", y tampoco me permite editar los que guardo con el menú Marcadores (para agregarles el WEB_PANEL); si también saben cómo se edita podría ser una salida.

Ah!. Y el primer código

Cita:
Iniciado por K3NNY
...Eso no pasaba con el otro script,...
hace exactamente lo mismo.

Es evidente que sirve para agregar nuestro propio Bookmark. Pero yo sigo queriendo cerrarlo despues de enviar el link al panel content.

gracias

furoya
  #22 (permalink)  
Antiguo 29/08/2005, 22:44
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Aunque es un híbrido, quizá les sirva:

Este es un script que escribí hace tiempo, es una mezcla de JavaScript y PHP, pero se puede cambiar para que sea todo JavaScript. Lo bueno es que funciona en MAC. Tal vez les sirva:
Código:
<script>
function favoritos(){
var arregopera=0;
var url="http://www.google.com";
var titulo="El mejor buscador";
var iexplorer;
var navegador="<? echo $HTTP_USER_AGENT ?>";
var opera=navegador.indexOf("Opera");
var mac=navegador.indexOf("Mac");
var windows=navegador.indexOf("Windows");
var netscape=navegador.indexOf("Netscape");
var safari=navegador.indexOf("Safari");
while(arregopera<1){
if ((navigator.appName=="Microsoft Internet Explorer") &&
(parseInt(navigator.appVersion)>=4)){iexplorer=1;}else{iexplorer=-1;}
if(opera!=-1 && windows!=-1){alert("Presione las siguientes teclas:ctrl+T");break;}
if(opera!=-1 && mac!=-1){alert("Presione las siguientes teclas:manzanita+T");break;}
if(iexplorer!=-1 && windows!=-1){eval("window.external.AddFavorite(url,titulo);");}
if(iexplorer!=-1 && mac!=-1){alert("Presione las siguientes teclas:manzanita+D");}
if(safari!=-1 && mac!=-1){alert("Presione las siguientes teclas:shif+manzanita+N");}
if(netscape!=-1 && mac!=-1){alert("Presione las siguientes teclas:shif+manzanita+N");}
if(netscape!=-1 && windows!=-1){alert("Presione las siguientes teclas:ctrl+ shift+d");}
if(iexplorer==-1 && opera==-1 && safari==-1 && netscape==-1){alert("Navegador Desconocido: \n Siga las instrucciones de los desarrolladores de su navegador \n para agregar esta pagina a favoritos");}
if(mac==-1 && windows==-1){alert("Plataforma Desconocida: \n Siga las instrucciones de los desarrolladores de su Plataforma \n para agregar esta pagina a favoritos");}
arregopera++;}}
</script>
  #23 (permalink)  
Antiguo 22/09/2005, 18:31
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Muy bueno Panino5001, nos faltaba algo de Mac. Solamente tengo una duda : ¿No habrá otro nombre para la tecla "manzanita"?. Es que ... no me suena muy serio .
Gracias.

Volviendo al tema del Mozilla, no hacía falta editar el Bookmarks.htm. Era suficiente con guardar la página normalmente y después tildar la opción "Cargar este Marcador en la barra lateral".

Así quedo confirmado lo que mencioné más arriba : sidebar.addPanel() no guarda la página como lo hace AddFavorite(). Lo que va a "marcar" es un 'bookmark' propio del sitio; un documento con enlaces a nuestras páginas que se leen en el panel izquierdo y se abren en el panel principal.

Ese es el documento que debemos crear y poner en nuestro servidor para que se guarde en el menú Marcadores al hacer click en un enlace o boton que diga "Guardar esta página en Bookmark".
Como agregado, se podría hacer que al clickear se guarde junto con la ruta de nuestra "lista de enlaces", la del documento donde se hace el click; luego esta dirección sería leída por un escript al abrirse el panel, y reenviada al _content. Así tendríamos el mismo efecto que en IE, salvo por el detalle de que el panel izquierdo se queda abierto.

Si hubiera alguna forma de cerrarlo "desde adentro", el efecto quedaría completo. Pero éso aún no lo pude hacer. Y sospecho que si pregunto cómo se hace, nadie me va a responder.


Aquí hay un ejemplo simplificado de cómo funciona (es similar al anterior)

paginaAMarcar.htm (es el documento que simula a éste que estamos viendo)

Código:
<html>
<head>
<title></title>
<script>
var url = "http://www.misitio.net"; /*aquí la url*/
var urlBmk = "http://www.misitio.net/miBookmark.htm"; /*aquí la url para Mozilla (y Opera?)*/
var title = "unTitulo"; /*aquí el título*/

var enlaceMSIE = "<a title=\""+title+"\" href = \"javascript:window.external.AddFavorite(url, title);\">A Favoritos.</a>";
var enlaceMoz = "<a title=\""+title+"\" href = \"javascript:window.sidebar.addPanel(title, urlBmk, \'\');\">A Marcadores.</a>";
var enlaceOp = "<a href="+url+" rel='sidebar' title=\""+title+"\">Agregar a Hot List</a>";
var enlaceOtro = "Guarde el enlace a esta P&aacutegina arrastrando el enlace hasta el men&uacute correspondiente.<br /><a href='http://misitio.net' title=\""+title+"\">http://misitio.net</a>";

var ident = navigator.userAgent.toLowerCase();
var texto= ((ident.indexOf("msie") == -1) && (ident.indexOf("opera") == -1) && (ident.indexOf("mozilla") != -1)) ? enlaceMoz : 
(ident.indexOf("opera") != -1) ? enlaceOp : 
((ident.indexOf("msie") != -1) && (ident.indexOf("opera") == -1)) ? enlaceMSIE  : 
enlaceOtro;

function guarda(){
document.getElementById("boton").innerHTML = texto;
}
</script>
<style>

</style>
</head>
<body onload="guarda()">
<h2>Esta ser&iacute;a la p&aacute;gina del mensaje <u>"Agregar a Favoritos" no funciona en Opera</u> que queremos guardar.</h2>
<div id="boton" ></div>
<br />

</body>
</html>
Y que en Mozilla guarda este otro documento (debe estar en el servidor)

miBookmark.htm

Código:
<html>
<head> <title> Agregar a Favoritos no funciona en Opera. </title>
<script>

function abre(){
content.location.href = "http://www.forosdelweb.com/showthread.php?t=293723";
}

</script>
</head>
<body onload="abre()">
<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 />
<br />

</body>
</html>
Otra opción de paginaAMarcar.htm, que explica cómo configurar el Marcador para que se abra en el panel principal sería

Código:
<html>
<head>
<title></title>
<script>
var url = "http://www.misitio.net"; /*aquí la url*/
var urlBmk = "http://www.misitio.net/miBookmark.htm"; /*aquí la url para Mozilla (y Opera?)*/
var title = "unTitulo"; /*aquí el título*/

var enlaceMSIE = "<a title=\""+title+"\" href = \"javascript:window.external.AddFavorite(url, title);\">A Favoritos.</a>";
var enlaceMoz = "<a title=\""+title+"\" href = \"javascript:window.sidebar.addPanel(title, url, \'\');";
enlaceMoz += " alert('La p%C3%A1gina se abrira en el panel izquierdo. Para verla en el panel principal despues de marcada, edite las Propiedades de %22'+title+'%22  (Marcadores > Administrar Marcadores) y desactive la opción Cargar este Marcador en la barra lateral.')\">A Marcadores.</a>";
var enlaceOp = "<a href="+urlBmk+" rel='sidebar' title=\""+title+"\">Agregar a Hot List</a>";
var enlaceOtro = "Guarde el enlace a esta P&aacutegina arrastrando el enlace hasta el men&uacute correspondiente.<br /><a href='http://misitio.net' title=\""+title+"\">http://misitio.net</a>";

var ident = navigator.userAgent.toLowerCase();
var texto= ((ident.indexOf("msie") == -1) && (ident.indexOf("opera") == -1) && (ident.indexOf("mozilla") != -1)) ? enlaceMoz : 
(ident.indexOf("opera") != -1) ? enlaceOp : 
((ident.indexOf("msie") != -1) && (ident.indexOf("opera") == -1)) ? enlaceMSIE  : 
enlaceOtro;

function guarda(){
document.getElementById("boton").innerHTML = texto;
}
</script>
<style>

</style>
</head>
<body onload="guarda()">
<h2>Esta ser&iacute;a la p&aacute;gina del mensaje <u>"Agregar a Favoritos" no funciona en Opera</u> que queremos guardar.</h2>
<div id="boton" ></div>
<br />

</body>
</html>
Y uno último que no tiene nada que ver con los anteriores

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title></head><body>
<h2>Arrastre este enlace hasta el men&uacute "Favoritos", "Marcadores", "Hot List", u otro :
<br />
<a href="http://www.misitio.net" onmousedown="javascript:void(0)">Mi Sitio. </a> </h2>
</body></html>

Última edición por furoya; 24/09/2005 a las 07:33
  #24 (permalink)  
Antiguo 11/10/2005, 14:18
Avatar de Artdeco  
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 165
Antigüedad: 19 años, 7 meses
Puntos: 1
Hola:

tengo una gran duda. No sé casi nada de html, sé lo básico. Estaba intentando averiguar una forma decente (cuando digo decente me refiero a algo que no se ciña sólo a IE) y hay tantos mensajes y tantas respuestas distintas en este post que no he sacado nada en claro. He visto muchos códigos, he leído todo detenidamente pero estoy muuuuuuy muy perdido.

Al principio, lo que he hecho ha sido crear una página llamada MozBookmark.htm con este código:

Código HTML:
<html>
<body>
<h3>Agregar a Favoritos ...</h3>
Mensaje.<br />
<a href="http://www.pagina.net" target="_content"> "Agregar a Favoritos" no funciona en Opera </a>
<br /><br />
Javascrip.<br />
<a href="http://www.pagina.net" target="_content"> Javascript</a>
<br /><br />
Sitio.<br />
<a href="http://www.pagina.net" target="_content"> Nombre de la pagina</a>
<br /><br />
Autor. <br />
<a href="http://www.pagina.net" target="_blank"> Nombre de la pagina</a>
<br />
<br />

</body>
</html> 

Y luego, en la otra página donde quiero que esté el texto "Agregar a favoritos" he hecho esto:

Código HTML:
<a href="http://www.pagina.net" onclick="window.sidebar.addPanel( 'Nombre de la pagina', 'http://www.pagina.net/mozbookmark.htm', '' ) ;return false;">Agregar a favoritos.</a> 
Y me ha funcionado perfectamente en Mozilla Firefox, que es mi navegador habitual, pero en Opera y Explorer no funciona. De paso, también quiero que vaya en Safari y en más navegadores, así que me gustaría saber qué puedo hacer, simplemente un resumen con las instrucciones definitivas porque es una pena que Furoya se haya tomado tantas molestias y los que no sabemos de html no nos enteremos de nada!

Os agradecería mucho la ayuda.
  #25 (permalink)  
Antiguo 14/10/2005, 09:07
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años
Puntos: 1
Algunas preguntas

Hola a todos. Bien hace un tiempo atrás me enconctré con el mismo problema y si mas no lei en el hilo de discusion, se hace referencia a mi tema donde JavierB respondio dandome una variante. Ahora revisando en el Foro he encontrado este tema y me funciona al 100% al menos en Internet Explorer y Mozilla Firefox, no lo he probado en Opera porque no soy muy amante de ese navegador. Ahora necesito adapartar ese código para que funcione con imagenes. Alguien que me de una pequeña ayuda? No estoy muy ducho en cosas de JavaScript aunque "cacharreo" un poco. Aquí el código:
Código HTML:
<script>
var url = ""; /*aquí la url*/
var title = ""; /*aquí el título*/
var ident = navigator.userAgent.toLowerCase();
var texto= ((ident.indexOf("msie") == -1) && (ident.indexOf("opera") == -1) && (ident.indexOf("mozilla") != -1)) ? "<a href = \"javascript:window.sidebar.addPanel(title, url, \'\');\">A Favoritos.</a>" : 
(ident.indexOf("opera") != -1) ? "Aprete [CTRL] + [T]." : 
((ident.indexOf("msie") != -1) && (ident.indexOf("opera") == -1)) ? "<a href = \"javascript:window.external.AddFavorite(url, title);\">A Favoritos.</a>" : 
"Guarde esta Página.";
function guarda(){
document.getElementById("boton").innerHTML = texto;
}
</script> 
es posible meterlo dentro de una funcion y llamarlo en el evento onClic de la imagen??

Otra pregunta un poco OFF TOPIC pero aprovecho para hacerlo porque va por el mismo lado. Como hacer el famoso link de "Pagina de Inicio" o sea compatible con FireFox, IExplorer y Opera?

Salu2
__________________
Ing. Reynier Pérez Mira
  #26 (permalink)  
Antiguo 15/10/2005, 15:09
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
No sé qué decirte. Artdeco. Si estás empezando con HTML, seguramente vas a esperar un poco para meterte con Javascript. Y ésto tiene mucho de Javascript. No es muy complicado, pero sí muy trabajoso. Y si miras cuando empezó el tema, también muy lento.

Como ya descubriste, no hay un método universal para guardar tus enlaces preferidos desde el documento. Cada navegador tiene el suyo y algunos no tienen ninguno, por lo que debemos recurrir al menú o las combinaciones de teclas. Lo que hace el escript es detectar en qué navegador y, eventualmente , qué sistema operativo usa quien abre la página, y luego escribe dentro del
< div id="boton" >
el link que le corresponda. Por supuesto : antes hay que saber cómo trabaja cada método en cada navegador y sistema operativo.

Panino5001 puso una buena lista de atajos o hot-keys.

Ahora se me ocurre algo para decirte : y es agradecer que reconozcas el trabajo que me tomé para las respuestas; lo hago extensivo a K3NNY y a todos los que aportaron al tema.

Más de uno habrá pensado como tú, que debió haber un poco más de colaboración de parte del foro. Pero creo que hay una buena razón para ésto. Cualquier usuario sabe que puede guardar un enlace a la página que está viendo apretando un par de teclas o haciendo un click en el menú. Carece de sentido agregarle al documento un botón que diga "Guárdeme haciendo Click aquí !", a menos que esté dirigido a los que tienen 'gatillo fácil' para el suicidio, y que hacen click en cualquier lado solamente porque se lo dicen.

Y ese es el típico comportamiento fomentado por Microsoft®. Darle al usuario todo masticado y que no tenga que sacar la vista del documento-producto para guardar el enlace; o más aún, que ni tenga que pensar cómo hacerlo.

Si puse algún esmero en este tema, fue porque me interesa demostrar que las mismas cosas que hace el navegador más popular, también las pueden hacer otros. Quizás se consigan a medias y con el doble de trabajo para nosotros, pero es importante demostrar que se puede, para que alguno le quite el trono al Internet Explorer, algún día.

Y el primer paso es imitarlo, para que todos los que se sienten cómodos en el IE se acostumbren. Después se podrá pensar en "reeducar" (o "desmaleducar") al usuario.

Y el único que entendió cómo se le mueve el piso a MS parece ser Firefox ( aunque a veces me asusta que compartan tantos códigos; pero eso debe ser por mi personalidad de tipo conspiranóica, no más ).

Las diferencias entre AddFavorite y sidebar.addPanel me parecen un buen ejemplo de "reeducación". Es cierto que se puede guardar con un botón del documento la página en los Marcadores de Mozilla, pero está configurado por omisión que luego se abra en el panel izquierdo. Con destildar el casillero "Cargar este Marcador en la barra lateral" en las propiedades del marcador es suficiente para que se abra en el panel principal; pero el hecho de que esté pensado para guardar un bookmark personalizado de nuestro sitio, con nuestro diseño, estilo, imágenes, sonidos ... me parece un hallazgo.

Claro que IE puede hacer lo mismo. Pero FF nos esta obligando a hacer las cosas mejor -y creo que Opera también-.

Reynier : lo de usar una imagen está en montones de mensajes -seguramente en las FAQs también-, en el código reemplazas los links con

Código:
<input type=\"image\" src=\"boton.gif\" onclick=\"window....\" />
Si el código que pusiste te "funciona al 100%" es porque en algún momento cambiaste la configuración de Firefox para que no abra los Marcadores en el panel izquierdo. De otra forma, tienes que usar dos documentos distintos a guardar, uno para IE y otro para FF.

Y lo de la "página de inicio" ¿es la de tu sitio, o la que tiene elegida el usuario?

saludos

furoya
  #27 (permalink)  
Antiguo 15/10/2005, 16:20
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años
Puntos: 1
Gracias

Muchas gracias por responder furoya. El tema de la imagen para Adicionar a Favoritos lo resolvi de la siguiente forma:
Código PHP:
<img src="{#IMG_DIR#}favorites.gif" alt="{#ADD_TO_FAVORITES#|escape:"htmlall"}" border="0" class="cursor" onclick="javascript:AddBookMark('Portal de los Joven Club de Computación y Electrónica de Granma', 'http://www.jovenclub.cu/grm/index.php')" /> 
ahora lo de la pagina de inicio es establecer la URL de mi pagina como la de inicio del navegador del cliente.

Salu2
__________________
Ing. Reynier Pérez Mira
  #28 (permalink)  
Antiguo 10/12/2005, 11:25
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
Buenas,
yo tambien estoy buscando una forma de agregar a favoritos con firefox, he probado vuestro codigo y tambien me lo abre en el panel lateral. Al final conseguisteis algún codigo para que se abra en toda la pagina? es que los ultimos post no he entendido muy bien...
graciass
  #29 (permalink)  
Antiguo 10/12/2005, 11:35
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años
Puntos: 1
Pues nop

Hola wakewakeup:
¿Cúal código es el que has probado? A mi me funciona a al prefección en FF y IE pero aún no lo he probado en Opera. No se a que te refieres con "Al final conseguisteis algún codigo para que se abra en toda la pagina?".

Salu2
__________________
Ing. Reynier Pérez Mira
  #30 (permalink)  
Antiguo 10/12/2005, 11:39
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
He probado este codigo:
Código:
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}
Te funciona en firefox pero abriendose en el panel lateral o en total? a mi me interesa en total
graciass
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 18:39.