Greasemonkey: Reconsidere implementar GM_registerMenuCommand en GM 4.x

Creado en 20 nov. 2017  ·  5Comentarios  ·  Fuente: greasemonkey/greasemonkey

Como vi (ver comentario) GM_registerMenuCommand se reemplaza con el menú contextual HTML5. y no hay ningún plan para agregarlo en GM 4.x.

Sin embargo, comencé este número por separado. con la esperanza de que lo reconsidere.


Entiendo que agregar algunas opciones del menú contextual en el menú contextual nativo,
es útil para aquellos que quieran agregar más entradas en eso.
Como este nuevo script de prueba de arantius search-with-google .
capturas de pantalla:
2017-11-20_1719082017-11-20_172014


Pero, para los scripts de usuario que usan GM_registerMenuCommand solo para la configuración, es decir, solo configura entonces solo de vez en cuando.
y aplicar a todas las páginas,
como el popular:
Visor de imágenes emergente al pasar el mouse por encima , ( captura de pantalla de configuración )
Título del enlace de YouTube ( captura de pantalla de configuración ) y
Linkify Plus Plus ( captura de pantalla de configuración )

Imagínese haber instalado estos scripts que crean un total de 3 entradas en la parte superior del menú contextual
que no se necesitan la mayor parte del tiempo:
haría que el uso del menú contextual de la página fuera desordenado y poco práctico.

Y luego el autor del guión, para evitar saturar el menú contextual solo por ofrecer configuraciones,
o registraría un atajo de teclado en cada página (¿sin interfaz de usuario?)
o cree un nuevo elemento de botón dedicado en cada página.


Por lo tanto, me gustaría pedirle que reconsidere la implementación de GM_registerMenuCommand dentro de la ventana emergente del botón de la barra de herramientas, similar a como estaba en GM 3.x, así como en los otros administradores de scripts más utilizados disponibles, Tampermonkey y Violentmonkey.
,
Aparecería entre / debajo de la entrada "Greasemonkey está activa / desactivada",
y encima de la lista 'Secuencias de comandos de usuario para esta pestaña' (GM 4.1 beta4).

Comentario más útil

Todos 5 comentarios

Como referencia, cito la discusión relevante de https://github.com/greasemonkey/greasemonkey/issues/2559 :


(ocho04)

_arantius Vi que GM_registerMenuCommand se reemplaza con el menú contextual HTML5. ¿Hay algún plan para agregarlo en GM 4.x? No puedo encontrar el problema de seguimiento._

(arantius)

_No. La política de Greasemonkey ha sido (durante mucho tiempo) no implementar funciones de "espacio de usuario". Cualquier script puede hacer esto, o @require algo como este polyfill que lo hace. Greasemonkey no necesita crear ni admitir esta función para permitir que los scripts la utilicen. El punto aquí es simplemente hacer lo que hace el polyfill: facilitar la actualización de los scripts para que sean compatibles con las versiones antiguas y nuevas de Greasemonkey.

(ocho04)

_Quiero decir si GM4 también proporcionará una API para ejecutar comandos de script desde la interfaz de usuario del administrador de userscript como el antiguo GM_registerMenuCommand, sin preguntar si habrá una API de menú contextual HTML5 en GM. GM_registerMenuCommand se usa a menudo para iniciar el cuadro de diálogo de configuración del script, que no debe rellenarse como un menú contextual HTML5 en mi humilde opinión.

_BTW, he creado una biblioteca para trabajar con el menú contextual HTML hace unos meses, que reutilizaría la propiedad contextmenu en la página si ya está configurada: _
_ https://github.com/eight04/GM_context_

(arantius)

_GM_registerMenuCommand se usa a menudo para iniciar el cuadro de diálogo de configuración del script, que no debe rellenarse como un menú contextual HTML5 en mi humilde opinión_

_¿Por qué no?_

(ocho04)

_¿Por qué no?_

_1. El comando en el menú contextual debe ser: _

_- Una acción que trabaja en un contexto (elemento) especificado. Por ejemplo, cuando se selecciona algún texto, se muestra el comando "Copiar", que es una acción para trabajar con la selección.
_- Un atajo para ejecutar el comando especificado por conveniencia.
_Un comando "Mi configuración de script de usuario" no se incluye en ambas categorías. No depende del contexto, tampoco es necesario utilizar un atajo para la configuración.

_2, no es confiable. Puede ser bloqueado / reemplazado por scripts de página.

(trlkly)

_Estoy de acuerdo con las dificultades a nivel conceptual. Ya no tengo extensiones que usen el menú contextual para la configuración. Se pondría bastante ocupado bastante rápido si lo hicieran, ya que ejecuto muchas extensiones.

_Pero la razón principal que veo es que Chrome ha eliminado el menú contextual HTML5 de la especificación , lo que significa que probablemente también se eliminará de Firefox. Ni siquiera sabía que existía, ya que no había visto ningún sitio usarlo. Las aplicaciones simplemente giran por sí mismas, bloqueando el menú contextual real (que es una gran, gran molestia en la mayoría de los casos. Eso elimina la funcionalidad). _

Esto me da dolor de cabeza al pensar en cómo interactuarían los scripts. Suponiendo que había una opción de menú y dicha opción de menú abrió algún tipo de ventana / cuadro / diálogo / lo que sea para cambiar la configuración, ¿se considera que la ventana recién generada está en el contexto de 'script de contenido' y, por lo tanto, puede enviar mensajes a la extensión? Y si no es así, ¿cómo se envía un mensaje al guión de contenido para que se pueda cambiar la configuración?


Sin embargo, parece que un tema común son los menús de configuración. Yo estaría a favor de tener campos de configuración definidos estáticamente en el metabloque que luego se generan y se pueden guardar / modificar a través del menú Monkey. Similar a resource pero se cambian yendo Monkey Menu -> Script -> Config -> Items .

_Yo estaría a favor de tener campos de configuración definidos estáticamente en el metabloque que luego se generan y se pueden guardar / modificar a través del menú Monkey. Similar a un recurso, pero se cambian yendo al Menú del mono -> Script -> Configuración -> Elementos.

Me temo que el uso de campos de configuración estática en el metabloque lo haría demasiado limitante:
por ejemplo, para el primer script mencionado, Mouseover Popup Image Viewer ,
además del diseño práctico actual (menús desplegables, casillas de verificación, cuadros de texto con barra de desplazamiento, área de texto),
el menú de configuración ofrece actualmente:

  • importar / exportar la configuración (al portapapeles),
  • instalar reglas desde el repositorio MPIV dentro de la configuración,
  • hay reglas de búsqueda a medida que escribe cuando hay muchas reglas de host personalizadas instaladas,
  • valida si la regla de host personalizada ingresada es JSON válido, y resalta la fila de entrada en rojo si no,

Además, su autor debería tener que reescribir todo el 'código de instalación'.

settings screenshot

@legnaleurc Dios, eso podría ser un problema para algunas personas. Como un lego total, no tengo idea, pero ¿conoce alguna forma alternativa de agregar elementos del menú contextual, para reemplazar el método que utiliza

? ¿Existe algún método simple que no conozca que se pueda utilizar desde un script de usuario?
¿Fue útil esta página
0 / 5 - 0 calificaciones