Междоменное всплывающее окно с возвращаемым значением

StackOverflow https://stackoverflow.com/questions/1443142

Вопрос

Это установка:

У меня есть два сайта на двух разных доменах:

  • www.website1.com
  • www.someotherwebsite.com

Вот что я хочу сделать:

  1. Когда пользователь включен www.website1.com и нажимаю на ссылку, я хочу, чтобы появилось всплывающее окно, показывающее www.someotherwebsite.com.

  2. Когда пользователь нажимает кнопку во всплывающем окне (показывающем www.someotherwebsite.com) Я хочу, чтобы это окно закрылось и вернулось значение.

  3. Я хочу, чтобы значение, возвращаемое из всплывающего окна, было помещено (в div, или в вызов javascript, или в какое-нибудь доступное место, например, при заполнении поля формы) на www.website1.com.

Надеюсь это имеет смысл.Мне нужно использовать только HTML и Javascript без внешних библиотек.Он также должен работать в современных основных браузерах (т.не быть чем-то HTML5).

Заранее спасибо за вашу помощь.

Это было полезно?

Решение

Хорошо, если вы используете iframe во всплывающем окне [в наши дни я бы избегал всплывающих окон, как чумы, из-за блокировщиков всплывающих окон]

С помощью iframe вы можете сделать междоменные вызовы

Почему бы вам просто не разработать веб-сервис от А до Б и не вызывать его из А?Кажется, гораздо проще, чем искать небольшие трещины в браузерах, чтобы обойти систему безопасности.

Другие советы

Вы можете опубликовать значение во всплывающем окне с www.someotherwebsite.com обратно на специальную страницу www.website1.com.Теперь вы вернулись в исходный домен, эта страница принимает значение GET и записывает его в код JavaScript.Затем JavaScript обновляет значение где-то в открывающем окне, используя opener.document.getElementById, или вызывает функцию в открывающем окне с чем-то вроде opener.document.doSomething(val);который обрабатывает ответ.

Это чревато потенциальными ошибками (что, если пользователь откроет две копии окна?Или закрывает исходный сайт?) и потенциальные дыры в безопасности, а браузеры имеют тенденцию плохо реагировать, если вы пытаетесь сделать что-то с окнами, которые не существуют или находятся в других доменах, но в известной среде это должно работать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top