Accès au contenu d'autres onglets dans le navigateur

J'utilise Mozilla Firefox et j'essaie de trouver un moyen d'accéder au contenu d'autres onglets dans la même fenêtre en utilisant JavaScript et DOM (je suis ouvert à d'autres techniques s'il existe).

Par exemple, je souhaite exécuter un JavaScript dans la tab1 qui peut trouver le titre d'un autre onglet. Fondamentalement, j'ai besoin de cela pour que je puisse identifier un onglet qui s'est ouvert en raison d'un href dans ma page actuelle sans utiliser la méthode window.open . Tout ce que je veux, c'est un lien hypertexte simple qui ouvre une page appartenant au même domaine que la page actuelle (la page devrait être ouverte dans un nouvel onglet). Maintenant, je souhaite pouvoir accéder à ce nouvel onglet à partir de l'onglet actuel.

Vous pouvez utiliser la messagerie de fenêtre croisée HTML5 … mais c'est un peu à la fine pointe.

Même dans ce cas, vous devriez probablement détourner l'événement tag 'click' avec javascript et ouvrir la fenêtre vous-même afin que vous ayez accès à l'objet de la nouvelle fenêtre pour poster des messages.

Alors que vous pouvez facilement ouvrir une nouvelle fenêtre à l'aide de javascript, je suis sûr que c'est aussi loin que possible. Du point de vue de la sécurité, vous ne voudriez pas que Javascript soit dans un seul onglet pour pouvoir interroger / accéder au DOM dans un autre onglet. Tout site pourrait alors avoir accès aux détails de votre compte bancaire, etc. si les deux sites étaient ouverts dans des onglets distincts.

Vamyip,

Essayez de définir un cookie accessible à n'importe quelle page dans le même domaine. Sur d'autres pages, utilisez une minuterie javascript pour vérifier si la valeur des cookies a changé et quand vous pouvez utiliser sa valeur et prendre une action.

Cela a fonctionné pour moi.

Vous pouvez accéder à la nouvelle fenêtre / onglet si elle a été ouverte avec JavaScript et la page est en effet dans le même domaine.

Vous pouvez ouvrir la fenêtre / onglet ainsi

 var win = window.open("/path_to_page"); 

Ensuite, vous devrez attendre que la page soit chargée avant d'accéder, par exemple, au titre.

 win.onload = function(){ alert(win.document.title); };