Выход за рамки iframe - PullRequest
       17

Выход за рамки iframe

0 голосов
/ 16 января 2009

Я пытаюсь заставить iframe B общаться с сайтом A. Я искал и искал, и все, что я прочитал, говорит, что это невозможно, если они принадлежат другому домену (iframe src происходит из поддоменов).

Я хочу общаться, потому что у моей компании есть объявления на своей странице, и ей нужно обновлять их каждые X минут. Это нормально, если это нормальное добавление, но некоторые дополнения расширяются. Как у меня есть добавляет, что начать с 300x250, а затем получить до 800x300. Я хотел пообщаться с iframe, чтобы узнать, когда адд будет расширяться, но, похоже, это не выход. Есть ли способ, чтобы надстройка выходила за пределы начального размера iframe?

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

Кто-нибудь знает, как это сделать, или у вас есть учебник, который показывает, как установить базовую связь с iframe.

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

Спасибо

Ответы [ 4 ]

2 голосов
/ 16 января 2009

Если вы хотите, чтобы два iframe связывались, и вы говорите, что один находится в другом поддомене, но в том же домене верхнего уровня , вы можете выполнять межкадровый сценарий. Смотри http://ajaxian.com/archives/how-to-make-xmlhttprequest-calls-to-another-server-in-your-domain.

Хитрость заключается в том, чтобы установить для страниц A и B оба значения

document.domain = 'SameTopLevelDomain.com';

и браузер затем разрешит страницам обмениваться данными (например, получать данные от других, вызывать функции и т. Д.).

Однако, если две страницы находятся в разных доменах, вам придется использовать прокси-серверный подход, как и ранее.

1 голос
/ 16 января 2009

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

Однако вы можете создать прокси на стороне сервера, который перенаправлял бы каждый запрос с iframe на рекламные серверы. Таким образом, ваш iframe может иметь источник в том же домене (или поддомене)

0 голосов
/ 18 января 2009

Существует способ организации междоменной связи с использованием iframe, описанный в ответе на Изменение размера iframe на основе содержимого .

Многие компании, обслуживающие рекламу, размещают свои баннеры на вашем сайте с помощью iframes и используют методику, изложенную в ответе выше, чтобы обеспечить возможность расширения iframe до необходимого размера объявления.

0 голосов
/ 16 января 2009

Может быть, мой ответ Межсайтовые запросы AJAX помогут вам.

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