v2.5.2
Giriş yap

Farklı domaine sahip iframe boyutunu dinamik olarak nasıl ayarlarım.

hllcncngz
170 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Veritabanından iş ilanları için şirketlerin kendi için oluşturduğu ilan sayfalarınının urllerini alıp iframe ile bastırıyoruz.
Sıkıntı şu.

Diyelim iframe urli https://www.iframe.com
Sitemizin url ise https://www.website.com

<iframe id="myIframe" width="100%" height="100%" src="@x.Url"></iframe>



<script>
function resizeIframe(iframe) {
    iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
}

document.addEventListener("DOMContentLoaded",()=>{
    let iframe= document.getElementById("myIframe")
    resizeIframe(iframe)
    
    window.addEventListener("resize",()=>{
        resizeIframe(iframe)
    })
})

</script>  

burada domain isimleri farklı olduğundan bu kod işe yaramıyor.
böyle durumlarda nasıl çözüm bulduklarını biraz araştırdım ve postMessage diye bir yöntem varmış iframe ile sitemiz arasında iletişim kurup sitemizin domainin de bu iframe kullanılırsa istediğimiz sonuçları alırız diye. Ama her şirkete de ulaşmak imkansız o yüzden bunu da yapamıyoruz. Böyle bir durumla karşılaşan ve buna bir çözüm bulmuş biri cevap yazabilirse sevinirim. İframe boyutunu ayarladıktan sonra scroll çıkmayacak şekilde ayarlamak gerekiyor.

Cevap yaz
Cevaplar (1)
murat03yigit
333 gün önce

Iframe url düzenleme işlemi

https://codepen.io/f10tme/pen/bGZNvbW

<iframe width="500" height=500 src="https://bloxd.io"></iframe>
<button id="urlEditBtn" onclick="iframeUrlEdit('https://example.com');">Url değiştir</button>
function iframeUrlEdit(newUrl) {
  let iframe = document.querySelector("iframe");
  iframe.setAttribute("src",newUrl);
}

//iframeUrlEdit("https://seninsiten.com");
//iframeUrlEdit("data:text/html,<h1>merhaba</h1>");