web-dev-qa-db-fra.com

Ouvrir l'URL dans Chromium et passer à l'onglet existant si l'URL est déjà ouverte

J'essayais de créer des listes rapides Unity pour Gmail. Toutefois, si Gmail était déjà ouvert, il créera un autre onglet et chargera la page Web, au lieu de passer à l'existant. J'ai même essayé d'installer l'application Gmail à partir de l'App Store et rien ne s'est passé.

J'ai regardé les différents commutateurs de ligne de commande, je n'ai rien trouvé. http://peter.sh/experiments/chromium-command-line-switches/

L'autre solution peu pratique consistait à installer un addon appelé Empêcher les onglets en double https://chrome.google.com/webstore/detail/ljnhndkfkbcfmfdkfaahkfmiiibaldhd Il supprimait les onglets dupliqués, mais il lui restait à charger la page en commutation à cela. Il ne fonctionne pas non plus avec les URL de transfert telles que Google Documents https://docs.google.com/?pli=1#home .

Sur une note de côté, ce n'était pas censé être une fonctionnalité pour les applications Web, un mot à la mode aujourd'hui.

6
pt123

L'extension Chrome, Clutter Free , fait exactement ce que vous avez demandé:

  • bascule vers un onglet dupliqué déjà ouvert, lorsqu'un nouvel onglet est ouvert,
  • fonctionne sur les redirections tant que la dernière URL redirigée est déjà ouverte

Disclaimer: Je suis l'auteur de cette extension. Moi aussi, je cherchais cette solution et j'ai fini par faire l'extension.

3
Adi B

Il existe deux façons de procéder: sur le client ou sur le serveur.

Du côté du serveur, cela serait possible, mais Google devrait modifier le code à la fin de Gmail. Cela ne se produira probablement pas car certaines personnes souhaitent ouvrir plusieurs onglets à la fois.

Du côté client, cela pourrait être fait en JavaScript, mais pour le fait que les éditeurs de navigateurs prennent délibérément des mesures pour éliminer les vulnérabilités de script intersite, les onglets/fenêtres de navigateur ne doivent pas connaître le contenu de chacun d’eux de par leur conception.

Le moyen le plus réaliste d’y parvenir consiste à utiliser une extension de navigateur pour gérer cette situation. Si vous envisagez de l'écrire vous-même, un bon point de départ est StackOverflow avec, par exemple: "Comment puis-je obtenir une liste des URL ouvertes à partir d'une instance en cours d'exécution de chrome-browser/chrome?" Mais il semble que vous soyez déjà assez proche de ce que vous voulez en utilisant l’extension mentionnée ci-dessus.

0
Luno