Как применить правила CSS из локального домена к контенту в iFrame из другого домена - PullRequest
2 голосов
/ 27 января 2011

Я убивал себя последние 2 дня, пытаясь сделать 2 вещи:

  1. Создайте iframe с контентом из другого домена, который автоматически изменит размер до длины контента в iframe
  2. ~ и, самое главное, ~ применение стилей CSS к контенту [из внешнего домена] в этом фрейме.

Я изучил jQuery и не нашел «надежной» любви, плагин frameReady (), похоже, исчез ... Я не уверен, что делать - или даже если это лучший способ .

Итак, Есть ли лучший и более надежный способ добиться этого? У меня полный доступ к серверу, так что .htaccess / php / cgi - возможно даже включение conf для apache [linux!]. Стоит отметить, что одним из фреймов является система бронирования, которая должна передавать данные туда и обратно. [ну, технически, так же как и другой кадр ....]

-Спасибо -sean

Ответы [ 2 ]

1 голос
/ 27 января 2011

IFRAME технически является другим окном, поэтому CSS для внешнего окна не может быть применен к HTML внутри документа HTML в рамке.

Возможно автоматическое изменение размера при условии, что связь между окнами разрешена, но я не уверен, что это надежный междоменный домен, особенно кросс-браузерный. Если оба окна были в одном домене, то да. Альтернатива - полосы прокрутки, они не , что зло.

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

Я бы предпочел придерживаться IFRAME и заняться белой маркировкой системы бронирования, чтобы она лучше отображалась внутри IFRAME. Если вы не имели в виду, что у вас есть полный доступ к серверу системы бронирования, то в этом случае вы будете бороться, если система бронирования не предоставляет преднамеренный API для этого.

Вам останется переписать его содержимое и туннелировать интерактивность через ваш сервер, например через прокси, или, возможно, аналогично тому, что делают подобные skyscanner.net и confused.com.

0 голосов
/ 18 октября 2011

Возможно, вы захотите прочитать этот пост, а затем проверить Porthole.js:

http://shouldersofgiants.co.uk/Blog/post/2009/08/17/Another-Cross-Domain-iFrame-Communication-Technique.aspx

Иллюминатор: http://ternarylabs.github.com/porthole/

...