İframe'de src'nin tablo genişliğini onload olarak yeniden boyutlandır

Aşağıdaki kod çalışır ve vücudun tıklamasıyla ilgili uyarıyı yükseltebilirim. Yapmak istediğim iframe yüklendiğinde, iframe'deki tablonun genişliğini otomatik olarak% 100 olarak değiştirmektir. Yani tıklama yerine, genişlik yükünü nasıl değiştirebilirim?

$("iframe[name=myheader]").load(function() {
            var iframe_body = window.myheader.document.getElementsByTagName("body")[0];
            $(iframe_body).click(function() {
                alert("hello, you touched me~");
                $(this).find("table").css("width","100%"); 
            });

        });
1
aynı alanda. Eğer .click'i her bir olarak değiştirirsem, yalnızca uyarıyı yerinde bırakırsam çalışır: örneğin, iframe'deki gerçek içerikten tam olarak işlenmemiş bir gecikme olana kadar tablo bulunamadı.
katma yazar Rob, kaynak
İki uygulamayı destekleyen dinamik olarak oluşturulmuş bir sayfa. Bir uygulamada, hiçbir zaman% 100'e kadar genişlememelidir, diğerinde (bu bir)% 100'e genişletilmelidir.
katma yazar Rob, kaynak
çerçeve sayfası aynı alanda olmalı
katma yazar Samuel Liew, kaynak
Yeniden boyutlandırma kodunu neden tabloyu içeren sayfaya koymuyorsunuz?
katma yazar Samuel Liew, kaynak

2 cevap

Yeni

Bu kodu iframe belgenize koyun :)

$(document).ready(function(){
$("table").css("width","100%");
});

ESKİ------------------

iframe load() işlevi yalnızca iframe tamamlandığında yüklenir, böylece click() olayını kaldırabilir ve yeniden boyutlandırabilirsiniz.

$("iframe[name=myheader]").load(function() {
            var iframe_body = window.myheader.document.getElementsByTagName("body")[0];
            //$(iframe_body).click(function() {
                alert("hello, you touched me~");
                $(this).find("table").css("width","100%"); 
            //});

        });
0
katma
Bu işe yaramıyor, yukarıda eklenmiş yorumuma bakın.
katma yazar Rob, kaynak
Moe, dinamik olarak oluşturulmuş bir iframe'dir, bu yüzden $ eklenir ("tablo ... doc hazırda çalışmıyor".
katma yazar Rob, kaynak

İframe'in onload olayını deneyebilirsiniz. Örneğin, eğer iframe bunun gibi bir şeyse

    <iframe id="frameElem" width="100%" height="100%" onload="frameLoaded(); return false" />

Şimdi JavaScript kodunda

    function frameLoaded(){
    $('#frameElem').contents().find('table').css("width","100%");
    }
0
katma