Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Volgorde javascript in Firefox

Anoniem
Annie
6 antwoorden
  • Hoi hallo. Ik heb iets gemaakt, en het komt neer op hetvolgende (uiteraard is dit niet de echte code, want dit slaat echt nergens op), en het ziet er naar uit dat Firefox en Explorer het op een andere volgorde uitvoeren. Alhier den code:
    [code:1:1096d5f724]<html>
    <head>
    <script>
    var content = "Hee het werkt";
    </script>
    </head>
    <body>
    <span id="test" name="test"></span>
    <script>
    document.getElementById('test').innerHTML = content;
    window.print();
    </script>
    </body>
    </html>[/code:1:1096d5f724]Als ik dit in Explorer doe, wordt "Hee het werkt" netjes uitgeprint. Als ik dit in Firefox doe, wordt er eerst een leeg velletje geprint en wordt daarna die <span> pas gevuld met de content. Kan ik er voor zorgen dat window.print() ook bij Firefox pas op het allerlaatste moment wordt uitgevoerd? Een window.onload of een setTimeout werken niet…

    Met vriendelijke groeten, Buur
  • wat is eigenlijk precies het nut van window.print() ? in mijn fotoboek (pvkekem.nl) gebruik ik:

    [code:1:6c6b3ed8a5]document.getElementById('info').innerHTML = [i]info[/i];[/code:1:6c6b3ed8a5]

    dit werkt prima, probeer het eens zonder window.print()

    gr peter
  • Ik wil iets printen met de printer.
    Omdat ik geen plaatjes en kleurtjes en andere zooi naar de printer wil sturen, genereer ik een printvriendelijke versie, die komt in die <span> te staan, die <span> zit in een hidden frame (0%) en die print ik uit. Er komt dus iets uit de printer wat je niet op het scherm ziet… Vandaar…
  • [quote:605df1581e="petervk"]wat is eigenlijk precies het nut van window.print() ? [/quote:605df1581e]
    Met window.print() geef je een printopdracht. De hele pagina wordt dan afgedrukt.

    Buur: volgens mij wordt altijd de hele pagina afgedrukt, dus de methode die je nu probeert zal niet werken. Ik denk dat je dit met css wel kunt oplossen:
    in je <head> sectie:
    [code:1:605df1581e]
    <style type="text/css">
    @media print {
    div { display: none; }
    span { display: none; }
    span#test { display: block; }
    }
    @media screen {
    div { display: block; }
    span { display: block; }
    span#test { display: none; }
    }
    </style>
    [/code:1:605df1581e]
    Uitleg: "@media print" zal worden gebruikt bij het afdrukken van de pagina. Alles zal worden verborgen ("display: none") behalve de span met id "test", die zal worden afgedrukt. "@media screen" bevat de style info voor de weergave op je scherm.
    Ik heb hier een voorbeeldje gezet. Bekijk het afdrukvoorbeeld/print preview maar eens.
  • Ha die kende ik nog niet. Dank je wel.

    Het probleem is echter dat ik met prutszooi van iemand anders bezig ben. Het is in Ajax gedaan. Er is een <span> die dynamisch wordt gevuld met content en die wordt uitgeprint. Hoe het dan werkt om enkel en alleen die <span> uit te printen weet ik niet, maar het werkt in elk geval wel.

    Het probleem is dus dat die vieze Internet Explorer het wel op volgorde doet (eerst de <span> vullen met INNERhtml en vervolgens uitprinten), maar dat Firefox de content niet uitprint, terwijl deze toch echt gevuld wordt (probeer het allereerste voorbeeld wat ik heb opgegeven maar eens uit in zowel IE als Firefox en zie het verschil).
  • [quote:1ac7d8454d="Buur"]
    [code:1:1ac7d8454d]<html>
    <head>
    <script>
    var content = "Hee het werkt";
    </script>
    </head>
    <body>
    <span id="test" name="test"></span>
    <script>
    document.getElementById('test').innerHTML = content;
    window.print();
    </script>
    </body>
    </html>[/code:1:1ac7d8454d][/quote:1ac7d8454d]
    ff los van je werkelijke probleem:
    - Ik zou de javascript-code toch aan een bepaald event hangen, zodat je - zeker weet wat de flow van de code is.
    - Geef aan het script ook de language mee.
    - Volgens mij zitten de id en name "test" in dezelfde namespace en conflicteert dit. Geef ze sowieso eens unieke namen.
    - Using Web Standards in Your Web Pages: innerHTML

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.