ID única persistente para las pestañas de Chrome que dura entre las sesiones del navegador

Estoy tratando de determinar una forma de establecer una ID única para las pestañas de Chrome que cumpla las siguientes condiciones:

Identifica de forma única cada pestañaPermanece igual para una pestaña determinada entre los reinicios del navegador (pestañas restauradas por la sesión)Permanece igual si una pestaña se cierra y luego se vuelve a abrir con la pestaña Deshacer cerrada (Ctrl + Shift + T)Permanece distinto si una pestaña está duplicada

He hecho una investigación bastante agresiva para encontrar una solución completa, pero nada parece hacer el truco. Estos son los métodos que he probado, en orden creciente de eficacia:

Usa el tab.id proporcionado por Chrome: no persiste entre las sesiones del navegador o cerrar / deshacer-cerrarPonga un GUID en las cookies: no es único por pestaña, solo por dominio / URLPonga un GUID en localStorage: persiste entre las sesiones del navegador y cerrar / deshacer-cerrar, pero no es único por pestaña, solo por dominioPonga un GUID en sessionStorage: Único por pestaña, persiste en cerrar / deshacer-cerrar, único para pestañas duplicadas, pero se borra entre las sesiones del navegadorUtilice los atributos de documentos de páginas web identificables como una clave única: Este es el mejor enfoque que he encontrado hasta ahora. Una clave se puede construir a través de un script de contenido a partir de los siguientes valores:[location.href, document.referrer, history.length].

Con respecto a este último enfoque, la clave construida es única en todas las pestañas que comparten una URL común, referente y longitud del historial. Esos valores seguirán siendo los mismos para una pestaña determinada entre reinicios del navegador / restauraciones de sesión y cierre / deshacer-cierre. Si bien esta clave es "bastante" única, hay casos en que es ambigua: por ejemplo, 3 nuevas pestañas abiertas parahttp://www.google.com todos tendrían la misma clave en común (y este tipo de cosas sucede bastante a menudo en la práctica).

El método "poner GUID en sessionStorage" se puede usar adicionalmente para desambiguar entre varias pestañas con la misma clave construida para los casos de pestañas de cierre / deshacer-cierre y de duplicación durante la sesión actual del navegador. Pero esto no resuelve el problema de ambigüedad entre los reinicios del navegador.

Esta última ambigüedad se puede mitigar parcialmente durante la restauración de la sesión observando qué pestañas abre Chrome en qué ventanas, y extrapolando para una clave ambigua determinada qué pestaña pertenece a qué ventana se basa en la presencia de las pestañas "relacionadas" esperadas (registradas durante el navegador anterior) sesión). Como puede imaginar, la implementación de esta solución es bastante complicada y poco fiable. Y solo puede desambiguar entre pestañas con la misma clave que Chrome restaura en diferentes ventanas. Eso deja las pestañas con la misma clave que se restauran en la misma ventana como irreconciliablemente ambiguas.

¿Hay alguna manera mejor? Un GUID único por pestaña garantizado y generado por el navegador que persiste entre los reinicios del navegador (restauraciones de sesión) y el cierre / deshacer cierre sería ideal, pero hasta ahora no he encontrado nada como esto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta