Objetivo: Tener un acceso directo en el escritorio que abra https://news.google.com/news/i#0 , ignorando el manifiesto de la aplicación web que contiene que, de lo contrario, "anula" el acceso directo guardado a http://news.google.com/news ?sapa=1 y con "display": "standalone"
.
Tenía esto funcionando anteriormente en un teléfono Android más antiguo antes de un reemplazo/actualización.
Antes de la actualización, podía mantener presionado y abrir artículos individuales en pestañas nuevas, así como copiar accesos directos de enlaces a artículos específicos, así como todas las demás características y funcionalidades que Chrome tiene para ofrecer. Aquí hay solo una selección parcial de referencias de otros usuarios que se quejan de lo mismo:
El uso de https://news.google.com/news/i#0 proporciona una solución temporal exitosa. Sin embargo, no puedo encontrar una manera exitosa de agregar un enlace para esto a mi pantalla de inicio. La opción "Agregar a la pantalla de inicio" dentro de Chrome guarda un enlace a http://news.google.com/news?sapa=1 , y de tal manera que se abre como una aplicación web en lugar de una página web dentro de Chrome. :
En un sistema operativo de escritorio, esto no sería un problema. (Cree un acceso directo, ingrese la URL deseada, listo).
Así que creé mi propia edición de manifiesto https://news.google.com/news/ui/resources/json/manifest.json para cambiar el start_url
atributo a https://news.google.com/news/i#0
y el display
atributo de standalone
a browser
. Luego creé mi propia página HTML que simplemente contenía lo siguiente, y luego me hospedé en un servidor web local:
<html>
<head>
<Title>Google News</Title>
<link rel="manifest" href="/news/manifest.json"/>
</head>
<body>
Test
</body>
</html>
Sin embargo, esto no funciona: a pesar de que el acceso directo se guardó con el nombre y el icono deseados, se vincula de nuevo a mi página HTML autohospedada, y no a la indicada start_url
. Lamentablemente, parece que las URL entre dominios no están permitidas según la intención del manifiesto, según https://github.com/w3c/manifest/issues/183 y https://github.com/w3c/manifest/issues/196 .
Dentro de los límites de mi propia red local, pensé que podría tratar de utilizar el sitio web man-in-the-middle (MITM) para proporcionar temporalmente un manfiest deseado para agregarlo a la pantalla de inicio. Desafortunadamente, el sitio web usa HSTS aquí, lo que bloquea el intento apropiadamente.
Independientemente, esto es demasiado trabajo para lo que debería ser un simple esfuerzo.
Desafortunadamente, parece que el widget de marcador 1x1 se eliminó en Chrome 48, según https://productforums.google.com/forum/#!topic/chrome/Ikn2YhvT98s . La solución sugerida es usar la función "Agregar a la pantalla de inicio" dentro de Chrome. Ir a 10 / ver inicio.
Desafortunadamente, usar "Agregar acceso directo en la pantalla de inicio" en el navegador de "Internet" proporcionado por defecto produce el mismo resultado que Chrome.
Probablemente podría escribir e instalar una aplicación personalizada o un widget que podría agregarse a la pantalla de inicio para cumplir con el objetivo.
O no reinvente la rueda y use una existente. Algunas posibilidades:
¿Cómo puede alguien crear un acceso directo de escritorio a una URL arbitraria, ignorando un manifiesto de aplicación web proporcionado?
Copia el siguiente código
JavaScriptx:<!-- NOTE: JavaScriptx is NOT A TYPO!!! -->
if (meta=document.querySelector('meta[name="mobile-web-app-capable"]')) meta.parentNode.removeChild(meta);
if (mani=document.querySelector('link[rel="manifest"]')) mani.parentNode.removeChild(mani);
void(0)
Abrir Chrome en Android
Vaya a la URL que desea agregar a su pantalla de inicio, por ejemplo:
Pegue el código copiado anteriormente en la barra de ubicación de Chrome
Desplácese hasta el principio del código pegado
Toque después de la x
entradaJavaScriptx
Retroceda el x
, usando el aspecto que Backspacetenga su botón en el teclado en pantalla
Toque Goen el teclado en pantalla (para confirmar/aceptar la URL y ejecutarla)
El JavaScript debería ejecutarse en la página y debería parecer que no hace nada, eso está bien.
Nota: si la página se vuelve a cargar por algún motivo , deberá ejecutar JavaScript nuevamente.
Ahora, intente agregar esa página a la pantalla de inicio nuevamente.
Debería terminar como un enlace de Chrome normal, no como una aplicación web, ya que JavaScript eliminó la preferencia de la página por el "modo de aplicación web".
JavaScriptx
solo para que retrocediera en la x más tarde?Porque, en mis pruebas, en mi teléfono, cuando pegué algo con JavaScript:
al principio, Chrome arrancó esa parte, dejando solo el texto después.