Изменение размера междоменного фрейма - PullRequest
2 голосов
/ 19 февраля 2010

Я слышал, что можно опрашивать URL-адрес iframe для хэша, чтобы что-то сделать с ним от родителя. Что мне нужно сделать, это установить высоту кросс-доменного iframe динамически. Таким образом, всякий раз, когда высота изменяется, iframe устанавливает свой url на someurl # height. Теперь мне нужно получить доступ к хешу (#height) от родителя, но он все равно не позволит мне. Использование прокси (iframe внутри iframe) в этом случае не вариант. Может быть, я делаю что-то не так, как бы вы опрашивали URL-адрес iframe?

iframe.contentWindow.location.href - предупреждение безопасности iframe.src - возвращает URL без хеша

1 Ответ

0 голосов
/ 19 февраля 2010

Обычно это не так. Что нужно сделать, так это то, что iframe вызывает window.parent.location = "#<iframe height>";, устанавливая для родительского элемента значение хеша высоты iframe.

На родительской странице используется событие onhashchange (IE, Firefox), чтобы зафиксировать изменение, а затем установить высоту iframe или таймер, который проверяет значение хеша каждые 100 мс или около того. Вот как это делает Google CSE, по крайней мере.

Смотрите также мой ответ на аналогичный вопрос:

Обработка события изменения привязки URL в js

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