Каков наилучший способ очистки содержимого в IFrame? - PullRequest
3 голосов
/ 16 апреля 2011

Мне интересно, что было бы лучшим способом очистить содержимое IFrame. В iframe содержится HTML-документ, полученный из другого домена. HTML-документ может содержать видео с голосом. Иногда мне необходимо открыть этот документ в новом окне. В случае видео очень важно сначала отключить воспроизведение видео, чтобы пользователь не расстраивался из-за воспроизведения нескольких аудио. Теперь, когда документ принадлежит другому домену, я не могу сделать swfobject.stopVideo(), и поэтому я делаю iframe.contentWindow.location = 'about:blank'. Это хороший метод.

В идеале я хочу сделать iframe.contentDocument.write("<p>Close the popup window to resume playback.</p>");. Как определить, было ли это окно закрыто, это другой вопрос, на который у меня пока нет ответа (я бы дал бонусные баллы, но это невозможно на SO).

Ответы [ 2 ]

1 голос
/ 20 января 2012

Похоже, вам просто нужно заменить iframe src страницей на вашем сервере, которая содержит текст «на случай, если вам интересно, что случилось, видео теперь воспроизводится во всплывающем окне».В то время как about: blank должно работать , чтобы очистить фрейм, я бы предложил следующее:

iframe.src = 'now_playing_in_popup.html';

Это выполнит как его очистку, так и отображение вашего сообщения.А что касается контроля другого окна на закрытие, я думаю, что на него ответил выше ninjagecko.

1 голос
/ 16 апреля 2011

Если вы хотите отправить сообщение во всплывающем окне, вы можете поместить сообщение помимо вашего iframe в качестве отдельного элемента-брата, отображая заголовок под видео.

Так как вы можете управлять содержимым окна (например, возможно, всплывающее окно загружает yourwebsite / popupPlayer.html, который содержит iframe), вы можете добавить триггер window.onunload, который связывается с главной страницей.

В качестве альтернативы, вы можете сделать (менее элегантно, но более быстро кодировать) var myWin = open ('...'); затем периодически проверяйте свойство myWin.closed.

Обратите внимание, что в некоторых браузерах есть блокировщики всплывающих окон, которые могут странным образом взаимодействовать с тем, что вы делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...