logo
05.05.2019 15:31
1
Zdravíčko,

pro jednoho svého klienta vytvářím webové stránky v oblasti pronájmu apartmánů. Logicky potřebuje tyto apartmány nějak rezervovat, k čemuž využívá portál bets24.com.

Klient chce na web umístit iframe, který generuje rezervační formulář. A zde se naskytuje problém. Snažím se už několik hodit zařídit, aby se výška (height) iframu sama přizpůsobovala obsahu, který obsahuje. Avšak bez úspěchu.

Zkuste si zadat například check-in 20 May a check-out 24 May. Vyhledávání vyhodí jeden apartmán, ale místo toho, aby se výška iframu zvětšila např. z 500px na 800px, iframe zachová výšku 500px a těch zbylých si může člověk zobrazit pomocí scrollbaru. To ale není vhodné řeší a rád bych, aby se iframe zvětšil sám od sebe na 800px bez scrollbaru.

Odkaz na iframe: https://codepen.io/anon/pen/arbJgv

Díky všem!

Š.

Co se právě děje na Webtrhu?

05.05.2019 15:44
2
Ono to i jde, problém jsou Cross Origin - https://www.dyn-web.com/tutorials/iframes/height/
05.05.2019 16:59
3
Výška iframe podle obsahu
05.05.2019 18:10
4
Pro automatické přizpůsobení výšky i pro iframe weby z jiné domény zkuste na githubu knihovnu "iframe-resizer".
05.05.2019 18:51
5
Pokud se nepletu, tak iframe-resizer předpokládá, že máte přístup ke kódu okna pokud se jedná o cross-origin iframe - nejspíše si potom před window.postMessage obkomunikuje co potřebuje. Pokud ovšem ke kódu, který není pod iframem nemáte přístup, tak máte smůlu - a to bude nejspíše váš případ. Bylo by dobré to přímo k příspěvku dopsat, takto to je velmi matoucí.
05.05.2019 19:06
6
Původně odeslal Taps
Ale to je přesně to, co píši. Pokud je odkaz na jinou domenu tak prohlížeč zahlásí Uncaught SecurityError: Blocked a frame with origin "http://kod.djpw.cz" from accessing a cross-origin frame. To si můžeš zkusit i v tom tvém odkazu ... dej tam svůj web nebo jindej, než jecas.cz.

Jinak to řešení je prakticky stejné, co píši. Pokud to je stejná domena, tak cajk. Ale jinak tě to nepustí.
05.05.2019 23:49
7
Díky všem za pomoc! Mám obavu, že se jedná právě o ten problém s cross-origin, protože mi žádný doposud použitý návod nepomohl. Bohužel nejsem programátor, takže to sám nezmáknu. Už jsem jednoho programátora kontaktoval. Takže díky, chlapi. :-)