Iframe-dagi src-jadval hajmini kattalashtirish

Quyidagi kod ishlaydi va tanani bosish bilan ogohlantirishni ko'tarishga qodirman. Men qilmoqchi bo'lgan narsa, iframe yuklanganida, iframedagi jadvalning kengligini avtomatik ravishda 100% ga o'zgartiradi. Shunday qilib, sekin urishning o'rniga, kenglik yukini qanday o'zgartirish mumkin?

$("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
bir xil sohada. Agar o'zgartirsam, bu har bir tugmachasini bosib, faqat ogohlantirishni joyida qoldirsam, ishlaydi: agar u kechikish bo'lmagunicha jadvalga o'xshamagan bo'lsa, ehtimol iframe to'liq tarkibidan to'liq bo'lmagan kontentdan.
qo'shib qo'ydi muallif Rob, manba
Ikki dasturni qo'llab-quvvatlaydigan dinamik ravishda yaratilgan sahifa. Bitta ilovada hech qachon 100% gacha kengaytirilmasligi kerak, ikkinchidan esa (100%) kengaytirilishi kerak.
qo'shib qo'ydi muallif Rob, manba
ramka sahifasi bir xil sohada bo'lishi kerak
qo'shib qo'ydi muallif Samuel Liew, manba
nima uchun jadvalni o'z ichiga olgan sahifaga qayta o'lchov kodini qo'yish kerak emasmi?
qo'shib qo'ydi muallif Samuel Liew, manba

2 javoblar

Yangi

Ushbu kodni iframe hujjatiga qo'ying :)

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

QADA ------------------

iframe load() funktsiyasi faqat iframe tugallangach, click() hodisasini olib tashlash va qayta o'lchamlarini olib tashlash mumkin.

$("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
qo'shib qo'ydi
Bu ishlamayapti, yuqorida qo'shilgan sharhni ko'ring.
qo'shib qo'ydi muallif Rob, manba
Moe dinamik ravishda yaratilgan iframe, ya'ni $ ("table ... doc ready" da ishlamaydi.
qo'shib qo'ydi muallif Rob, manba

Iframe ning onload hodisasini sinab ko'rishingiz mumkin. Misol uchun, agar sizning iframeingiz shunday bo'lsa

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

Endi JavaScript kodida,

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