Я создаю букмарклет для различных сайтов, который в основном работает следующим образом:
- Пользователь переходит на foo.com (внешний сайт, который не находится под моим контролем)
- Пользователь нажимает кнопкубукмарклет в своих браузерах, который получает некоторую информацию с foo.com и отображает ее в форме на bar.com внутри iframe
- Пользователь отправляет форму внутри bar.com, которая находится внутри foo.com
- Iframe исчезает
Проблема заключается в том, что iFrame удаляет сам себя.Поскольку я не могу получить доступ к функции внутри родительского домена в другом домене, я не могу создать пользовательскую функцию parent.removeIFrame () или даже выполнить window.top.location.reload ().Я перепробовал много техник, но все они терпели неудачу из-за междоменных сценариев.
Я решил это путем изменения top.location.href на пользовательскую страницу, которую я создал на bar.com/back.html ввсе, что он делает, это просто отправляет одну команду history.back (), которая отбрасывает пользователя на исходную страницу.Несмотря на креативность, я не думаю, что это очень элегантное решение.Есть ли лучший способ?