Доступ к содержимому других вкладок в браузере - PullRequest
16 голосов
/ 08 июля 2010

Я использую Mozilla Firefox и пытаюсь найти способ доступа к содержимому других вкладок в том же окне, используя JavaScript и DOM (я открыт для других методов, если они существуют).

Например. Я хочу запустить JavaScript в tab1, который может найти заголовок какой-либо другой вкладки. В основном мне это нужно, чтобы я мог идентифицировать вкладку, которая открылась из-за href на моей текущей странице, без использования метода window.open. Все, что я хочу, - это простая гиперссылка, которая открывает страницу, принадлежащую тому же домену, что и текущая страница (страница должна быть открыта в новой вкладке). Теперь я хочу получить доступ к этой новой вкладке из текущей вкладки.

Ответы [ 4 ]

13 голосов
/ 08 июля 2010

Хотя вы можете легко открыть новое окно с помощью JavaScript, я уверен, что это далеко.С точки зрения безопасности вы бы не хотели, чтобы Javascript на одной вкладке мог запрашивать / получать доступ к DOM на другой вкладке.Любой сайт сможет получить доступ к реквизитам вашего банковского счета и т. Д., Если оба сайта будут открыты в отдельных вкладках.

10 голосов
/ 08 июля 2010

Вы можете использовать обмен сообщениями между окнами HTML5 ... но это своего рода ультрасовременный.

Даже в этом случае вам, вероятно, потребуется перехватить событие «click» тега с помощью javascript и открыть окно самостоятельно, чтобы иметь доступ к новому объекту окна для отправки сообщений.

8 голосов
/ 19 сентября 2013

Vamyip,

Попробуйте установить cookie, который доступен для любой страницы в этом же домене.На других страницах используйте таймер JavaScript, чтобы проверить, изменилось ли значение cookie, и если оно есть, вы можете использовать его значение и выполнить действие.

Это сработало для меня.

7 голосов
/ 08 июля 2010

Вы можете получить доступ к новому окну / вкладке, если оно было открыто с помощью JavaScript и страница действительно находится в том же домене.

Вы можете открыть окно / вкладку следующим образом:

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

Затем вам придется подождать, пока страница загрузится, прежде чем вы сможете получить доступ, например, к заголовку.

win.onload = function(){ alert(win.document.title); };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...