Avatar billede goje Nybegynder
10. oktober 2006 - 14:22 Der er 4 kommentarer og
1 løsning

Resize iFrame til content i strict mode i Mozilla

Jeg forsøger at lave et script, der resizer en iFrame ud fra inholdet. Scriptet virker fint i IE osv, men når jeg tester i Mozilla med et dokument, der kører HTML 4 strict, så virker det ikke.

Mit script er her:

function adjustIframeHeight(iframeTag) {
    var doc = null;
    if (iframeTag != null) {
        var name = iframeTag.name; // must be name, not id
        if (typeof name == "string" && name != "") {
            var frame = window.frames[name];
            if (frame != null) {
                try {
                    doc = frame.document;
                }
                catch (ex) {
                }
            }
        } else { // if name not specified
            try {
                if (iframeTag.contentDocument != null) { // W3C
                    doc = iframeTag.contentDocument;
                }
                else if (iframeTag.Document != null) { // IE
                    doc = iframeTag.Document;
                }
               
            }
            catch (ex) {
            }
        }
        if (doc != null) {
            var body = (doc.body != null) ? doc.body : null;
            if (body != null) {
                var height = parseInt(body.offsetHeight, 10);
                if (!isNaN(height) && height > 0) {
                    iframeTag.style.height = height + "px";
                }
            }
        }
    }
}

Nogen ideer?
Avatar billede olebole Juniormester
10. oktober 2006 - 14:29 #1
<ole>

- ehhhh ... strict ...? Iframe-elementet eksisterer slet ikke under HTML-Strict og efterfølgende markup-versioner - så det kan du ikke  :)

/mvh
</bole>
Avatar billede olebole Juniormester
10. oktober 2006 - 14:30 #2
Der burde have stået:
    "Iframe-elementet eksisterer slet ikke under HTML4.01-Strict ..."
Avatar billede goje Nybegynder
10. oktober 2006 - 17:40 #3
Hej Ole,

Det har du helt ret i. :o)

Det fremgår ikke klart af mit spørgsmål, men det er inholdet i iframe elementet, der er 4.01 strict.
Avatar billede olebole Juniormester
12. oktober 2006 - 11:32 #4
Hvis browseren ikke er i quirks mode, skal du måle på document-elementet - ikke body-elementet:
    document.documentElement.offsetHeight

- vedr. 'quirks mode' kontra 'standard mode':
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp

- læs under: The !DOCTYPE "Switch"
Avatar billede goje Nybegynder
27. august 2010 - 11:28 #5
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester