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

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

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

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

1 Ответ

1 голос
/ 16 июля 2009

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

...