stringtranslate.com

Marcador

Un navegador Firefox con un cuadro de diálogo que dice "Hay alrededor de 2502 palabras en esta página".
Demostración de un bookmarklet que cuenta el número de palabras en la página. El navegador que se muestra es Firefox 65.0.2 ejecutándose en Windows 10.

Un bookmarklet es un marcador almacenado en un navegador web que contiene comandos JavaScript que agregan nuevas funciones al navegador. Se almacenan como la URL de un marcador en un navegador web o como un hipervínculo en una página web . Los bookmarklets suelen ser pequeños fragmentos de JavaScript que se ejecutan cuando el usuario hace clic en ellos. Cuando se hace clic en ellos, los bookmarklets pueden realizar una amplia variedad de operaciones, como ejecutar una consulta de búsqueda a partir del texto seleccionado o extraer datos de una tabla.

Otro nombre para bookmarklet es favelet o favlet , derivado de favoritos (sinónimo de marcador). [1]

Historia

Steve Kangas de bookmarklets.com acuñó la palabra bookmarklet [2] cuando comenzó a crear scripts cortos basados ​​en una sugerencia de la guía JavaScript de Netscape . [3] Antes de eso, Tantek Çelik llamó a estos guiones favelets y usó esa palabra ya el 6 de septiembre de 2001 (correo electrónico personal [ se necesita aclaración ] ). Brendan Eich , quien desarrolló JavaScript en Netscape, dio este relato sobre el origen de los bookmarklets:

Fueron una característica deliberada en este sentido: inventé la javascript:URL junto con JavaScript en 1995, y tenía la intención de que javascript:las URL pudieran usarse como cualquier otro tipo de URL, incluida la posibilidad de marcarlas como favoritas. En particular, hice posible generar un nuevo documento cargando, por ejemplo javascript:'hello, world', pero también (clave para bookmarklets) ejecutar un script arbitrario contra el DOM del documento actual, por ejemplo javascript:alert(document.links[0].href). La diferencia es que el último tipo de URL utiliza una expresión que se evalúa como el tipo indefinido en JS. Agregué el operador void a JS antes de que se lanzara Netscape 2 para que fuera más fácil descartar cualquier valor no definido en una javascript:URL.

—  Brendan Eich, en un correo electrónico a Simon Willison [4]

La mayor implementación de la Política de seguridad de contenido (CSP) en los sitios web ha causado problemas con la ejecución y el uso de los bookmarklets (2013-2015), [5] y algunos sugieren que esto anuncia el fin o la muerte de los bookmarklets. [6] [7] William Donnelly creó una solución alternativa para este problema (en el caso específico de cargar, hacer referencia y usar el código de la biblioteca JavaScript) a principios de 2015 utilizando un script de usuario de Greasemonkey ( extensión complementaria del navegador Firefox / Pale Moon ) y un protocolo de comunicación simple bookmarklet-userscript . [8] Permite ejecutar bookmarklets (basados ​​en biblioteca) en todos y cada uno de los sitios web, incluidos aquellos que utilizan CSP y tienen un esquema URI https://. Sin embargo, tenga en cuenta que si/cuando los navegadores admitan deshabilitar/no permitir la ejecución de scripts en línea usando CSP, y si/cuando los sitios web comiencen a implementar esa característica, "romperá" esta "solución".

Concepto

Los navegadores web utilizan URI para el hrefatributo de la etiqueta y para los marcadores. El esquema de URI, como o , y que generalmente especifica el protocolo , determina el formato del resto de la cadena. Los navegadores también implementan URI que para un analizador son como cualquier otro URI. El navegador reconoce el esquema especificado y trata el resto de la cadena como un programa JavaScript que luego se ejecuta. El resultado de la expresión, si lo hay, se trata como el código fuente HTML de una nueva página que se muestra en lugar de la original.<a>httpftpjavascript:javascript

El script en ejecución tiene acceso a la página actual, que puede inspeccionar y cambiar. Si el script devuelve un tipo indefinido (en lugar de, por ejemplo, una cadena), el navegador no cargará una página nueva, con el resultado de que el script simplemente se ejecuta en el contenido de la página actual. Esto permite cambios como el tamaño de fuente in situ y cambios de color sin tener que volver a cargar la página.

Una función invocada inmediatamente que no devuelve ningún valor o una expresión precedida por el voidoperador impedirá que el navegador intente analizar el resultado de la evaluación como un fragmento de formato HTML:

javascript : ( función (){ //Declaraciones que devuelven un tipo no definido, por ejemplo, asignaciones})();

Uso

Los marcadores se guardan y utilizan como marcadores normales. Como tales, son herramientas sencillas de "un solo clic" que añaden funcionalidad al navegador. Por ejemplo, pueden:

Instalación

"Instalar" un bookmarklet le permite acceder y ejecutar rápidamente programas JavaScript con un solo clic desde la barra de marcadores de su navegador. Siga estos pasos detallados para instalar un bookmarklet:

Método 1: crear un nuevo marcador

  1. Abra su navegador: inicie el navegador donde desea agregar el marcador.
  2. Agregar un nuevo marcador:
    1. Navega hasta el administrador de marcadores. En la mayoría de los navegadores, se puede acceder a esto presionando Ctrl+Shift+Oo seleccionando "Marcadores" en el menú del navegador y luego eligiendo "Administrador de marcadores".
    2. Haga clic derecho en la barra de marcadores o en la carpeta donde desea agregar el marcador y seleccione "Agregar nuevo marcador" o "Agregar página".
  3. Configurar el marcador:
    1. En el campo 'Nombre', ingrese un nombre descriptivo para su bookmarklet para ayudarlo a identificar su función.
    2. En el campo 'URL', pegue el código JavaScript proporcionado para el bookmarklet. Asegúrese de que comience javascript:seguido del fragmento de código.
  4. Guarde el marcador: haga clic en "Guardar" o "Listo" para agregar el marcador a su barra o carpeta de marcadores.

Método 2: arrastrar y soltar

  1. Localice el enlace del bookmarklet: busque el enlace del bookmarklet proporcionado en una página web. Este enlace normalmente aparecerá como un botón en el que se puede hacer clic o como un enlace etiquetado con la función del marcador.
  2. Arrastre el Bookmarklet a su barra de marcadores:
    1. Haga clic y mantenga presionado el enlace del marcador.
    2. Arrástralo directamente a tu barra de marcadores. Algunos navegadores pueden mostrar un marcador de posición o resaltar dónde se colocará el marcador.
    3. Suelte el botón del mouse para colocar el marcador en su lugar.
  3. Confirmación: el bookmarklet debería aparecer ahora en la barra de marcadores, listo para usar.

Ejecutando el marcador

Para utilizar el bookmarklet, simplemente haga clic en su icono o nombre en su barra de marcadores. El código JavaScript se ejecutará inmediatamente en la página web actual que esté viendo. Asegúrese de que la página web esté completamente cargada antes de usar el bookmarklet para un rendimiento óptimo.

Consejos

Ejemplo

Este bookmarklet de ejemplo realiza una búsqueda en Wikipedia de cualquier texto resaltado en la ventana del navegador web. En uso normal, el siguiente código JavaScript se instalaría en un marcador en la barra de herramientas de marcadores del navegador [13] . A partir de ese momento, después de seleccionar cualquier texto, al hacer clic en el bookmarklet se realiza la búsqueda.

javascript : ( función () { función se ( re ) {   regresar d . selección ? d . selección . crear rango (). texto : d . obtenerSelección ()     } var s = se ( documento );    for ( var i = 0 ; i < frames . length && ( s == null || s == '' ); i ++ ) s = se ( frames [ i ]. documento );            if ( ! s || s == '' ) s = solicitud ( 'Ingrese%20search%20terms%20for%20Wikipedia' , '' );       open ( 'https://en.wikipedia.org' + ( s ? '/w/index.php?title=Special:Search&search=' + encodeURIComponent ( s ) : '' )). enfocar ();        })();

Los bookmarklets pueden modificar la ubicación , por ejemplo, para guardar una página web en Wayback Machine ,

javascript : ubicación . href = 'https://web.archive.org/save/' + documento . ubicación . href ;

Abra una nueva ventana o pestaña del navegador web , por ejemplo, para mostrar la fuente de un recurso web si el navegador web admite el esquema URI de fuente de visualización .

javascript : void ( ventana . abrir ( 'ver-fuente:' + ubicación ));

Mostrar información relacionada con la URL actual , por ejemplo,

javascript : alerta ( '\tdocument.URL\n' + documento . URL + '\n\tdocument.lastModified\n' + documento . lastModified + '\n\tubicación\n' + ubicación );

Referencias

  1. ^ Jonathan Ávila (2 de marzo de 2014). "Cómo crear un favlet para pruebas de accesibilidad". Archivado desde el original el 22 de enero de 2018 . Consultado el 23 de mayo de 2023 .{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  2. ^ Dominio bookmarklets.com Archivado el 7 de julio de 2009 en Wayback Machine, registrado el 9 de abril de 1998.
  3. ^ "Activación de comandos de JavaScript desde la barra de herramientas personal". Novedades de JavaScript 1.2 . Corporación de Comunicaciones Netscape. 1997. Archivado desde el original el 11 de junio de 2002.
  4. ^ Willison, Simon (10 de abril de 2004). "Correo electrónico de Brendan Eich". Punto de sitio . Consultado el 26 de septiembre de 2014 .
  5. ^ "Error 866522: marcadores afectados por CSP".
  6. ^ "Los marcadores están muertos". 23 de octubre de 2014.
  7. ^ "La lenta muerte de los Bookmarklets". 16 de noviembre de 2012.
  8. ^ "La resurrección de los marcadores".
  9. ^ Ruderman, Jesse. "Bookmarklets para eliminar molestias". Sitio de Bookmarklets de Jesse . Consultado el 29 de marzo de 2013 .
  10. ^ "Marcadores de velocidad de vídeos de YouTube". sgeos.github.io . 2017-10-29.
  11. ^ Kant, Kushal (23 de agosto de 2017). "Cómo utilizar parámetros en etiquetas/atributos de vídeo HTML5". buscador .
  12. ^ "Etiqueta de vídeo HTML". www.w3schools.com .
  13. ^ Probado en Mozilla Firefox , Opera , Safari y Chrome . No funciona en IE7 o IE8. Fuente original: Alex Boldt

enlaces externos