Почему javascript-код не сможет получить доступ к переменным в открывшем его окне (window.opener), если оба окна принадлежат одному домену?

Я пытаюсь использовать API JavaScript Facebook Connect. У меня есть кнопка входа в Facebook на subdomain.example.com/foo/bar/baz/article.html. При нажатии на кнопку открывается страница входа в домен Facebook. После входа в систему это дочернее окно переходит на subdomain.example.com/foo/xd_receiver.html, который представляет собой файл, предоставляемый Facebook, который имеет только тег сценария для загрузки сценария из своего домена, который пытается получить доступ к исходному окну и вызвать функцию из него.

Поскольку дочернее окно и родительское окно находятся в одном домене, я думаю, что дочернее окно сможет получить доступ к свойствам объекта родительского окна (а не только к его местоположению). Это не может по какой-то причине. Мысли?

Документация говорит, что файл xd_receiver должен находиться в месте, где относительный путь (без "..", я полагаю) может получить к нему доступ с любой страницы, на которой находится кнопка входа, но говорит, что абсолютный путь будет работать в Firefox, это то, что я использую. Файл xd_receiver загружается, поэтому я не думаю, что это проблема. Кто-нибудь знает, почему такое ограничение будет существовать в любом случае? Документация любит говорить "делай это", не объясняя почему. Веселые времена.

1 ответ

Не только должен быть один и тот же домен, один должен быть открывающим, а другой - дочерним.

Другие вопросы по тегам