Вопрос

Это ситуация. Я пытаюсь предоставить услугу, в которой кто -то встраивает на своем веб -сайте Iframe с формой в нем. В конце, когда запрашивается запрос Ajax, я хочу выставить новое окно с благодарственной запиской. window.open не работает, и я предполагаю, что окно-объект принадлежит странице, которая внедряет ее, а не iframe, а затем считается сценарием поперечного сайта. Есть ли другой способ сделать это?

Мысль у меня была, что я могу создавать ссылки с target = "_ new" в моем iframe, и нажимать, что на самом деле выставило бы другое окно. Может быть, я мог бы создать эту ссылку и «щелкнуть»/запустить ее с помощью JavaScript?

У меня есть контроль над тем, что пользователь так потенциально может включить там сценарий, но чем меньше кода, тем лучше.

Какие -нибудь дубли?

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

Решение

Window.open не работает, и я предполагаю, что окно -объект принадлежит странице, которая внедряет ее

Я так не думаю. window Как видно из вашего сценария, как правило, будет window объект документа внутри iframe.

Более обычно, window.open При завершении xmlhttprequest будет заблокировано встроенные всплывающие блокировщики браузеров. Они обычно позволяют открывать новые окна в прямом ответе на взаимодействие с пользователем (как правило, в onclick обработчик события).

Может быть, я мог бы создать эту ссылку и «щелкнуть»/запустить ее с помощью JavaScript?

Нет, иначе все будут делать это, чтобы обойти блокаторы!

Если вы начинаете XHR, и вы знаете, что вам понадобится всплывающее окно в будущем, вам придется открыть его сейчас и поместить немного контента наполнителя, пока XHR не вернется, и в этот момент вы можете обновить его содержимое Анкет

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