ID exclusivo persistente para as guias do Chrome que duram entre as sessões do navegador

Estou tentando descobrir uma maneira de estabelecer um código exclusivo para as guias do Chrome que atendam às seguintes condições:

Identifica exclusivamente cada guiaPermanece o mesmo para uma determinada guia entre as reinicializações do navegador (guias restauradas pela sessão)Permanece o mesmo se uma guia for fechada e, em seguida, reaberta com a guia Desfazer Fechada (Ctrl + Shift + T)Fica distinto se uma guia for duplicada

Eu fiz uma pesquisa bastante agressiva para encontrar uma solução abrangente, mas nada parece fazer o truque. Aqui estão os métodos que tentei, em ordem crescente de eficácia:

Use o tab.id fornecido pelo Chrome: não persiste entre as sessões do navegador ou fechar / desfazerColoque um GUID em cookies: não é exclusivo por guia, apenas por domínio / URLColoque um GUID no localStorage: persiste entre as sessões do navegador e fecha / desfaz o fechamento, mas não é exclusivo por guia, apenas por domínioColoque um GUID em sessionStorage: exclusivo por guia, persiste em fechar / desfazer fechamento, exclusivo para guias duplicadas, mas é eliminado entre as sessões do navegadorUse atributos de documentos de páginas da Web identificáveis ​​como uma chave exclusiva: esta é a melhor abordagem que encontrei até agora. Uma chave pode ser construída por meio de um script de conteúdo dos seguintes valores:[location.href, document.referrer, history.length].

Com relação a essa última abordagem, a chave construída é única em todas as guias que compartilham uma URL, um referenciador e um comprimento de histórico comuns. Esses valores permanecerão os mesmos para uma determinada guia entre as reinicializações / restaurações de sessão do navegador e fechar / desfazer fechamentos. Embora essa chave seja "bastante" única, há casos em que ela é ambígua: por exemplo, três novas guias abertas parahttp://www.google.com todos teriam a mesma chave em comum (e esse tipo de coisa acontece com muita frequência na prática).

O método "put GUID in sessionStorage" também pode ser usado para desambiguar entre várias guias com a mesma chave construída para os casos de fechamento / desfazer fechamento e duplicação da guia durante a sessão atual do navegador. Mas isso não resolve o problema de ambigüidade entre as reinicializações do navegador.

Esta última ambigüidade pode ser parcialmente mitigada durante a restauração da sessão, observando quais guias o Chrome abre junto em quais janelas e extrapolando para uma determinada chave ambígua qual guia pertence a qual janela baseada na presença de guias 'irmãos' esperados (gravados durante o navegador anterior sessão). Como você pode imaginar, a implementação dessa solução é bastante complicada e bastante desonesta. E só pode desambiguar entre guias com as mesmas teclas que o Chrome restaura em janelas diferentes. Isso deixa as guias com a mesma chave que restauram na mesma janela como irreconciliavelmente ambíguas.

Existe uma maneira melhor? Um GUID garantido, gerado por navegador e por tabulação, que persiste entre as reinicializações do navegador (restaurações de sessão) e fechamento / desfazer fechamento seria ideal, mas até agora não encontrei nada como isso.

questionAnswers(3)

yourAnswerToTheQuestion