mabuhay: Text in externem Fenster ändern

Hallo

Ich möchte ein externes Fenster öffnen, um darin die Seite Druckerfreundlicher anzuzeigen. Dafür öffne ich eine Vorlage, welche schon vorformatiert ist, und möchte dann den Text der Elternseite reinschreiben.
Ich hab einfach mal versucht, irgend ein Text reinzuschreiben:

  
my_window = window.open("../printer_friendly_page.htm", "Printer friendly version", "width=500px, height=500px");  
my_window.document.getElementById("pf_url").innerHTML = "test test";  
my_window.focus();  

Der Text wird dabei in einen div-Layer hineingeschrieben mit der id="pf_url"
Das funktioniert irgendwie nicht. Kann mir jemand sagen was daran falsch ist?

Vielen Dank

  1. Hallo mabuhay,

    Das funktioniert irgendwie nicht. Kann mir jemand sagen was daran falsch

    Das Problem ist, dass das Fenster noch nicht (vollständig) geladen ist. Du greifst also auf die ID zu ohne das sie existiert. Entweder Du fragst ab, wann das PopUp fertig ist und die ID existiert oder Du schreibst Dein Script ins Popup - letzteres würde ich machen.
    Um dann den Text aus dem Elternfenster zu bekommen, sollte Dir opener() weiter helfen.

    Ferner solltest Du auf Leerzeichen im Fensternamen ("Printer friendly version") verzichten, da diese nicht erlaubt sind!

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
    1. Vielen Dank für die Hinweise, werde ich versuchen

      mfg

      1. Vielen Dank für die Hinweise, werde ich versuchen

        Die CSS-Lösung sollte besser und zuverlässiger sein.

        Einfach den Bildern die im Ausdruck nicht erscheinen sollen ein class oder eine id geben und da mit CSS diplay:none

        Das funktioniert dann auch eher fehlerfrei und selbst bei Browsern ohne Javascript.

        1. Einfach den Bildern die im Ausdruck nicht erscheinen sollen ein class oder eine id geben und da mit CSS diplay:none

          Das funktioniert dann auch eher fehlerfrei und selbst bei Browsern ohne Javascript.

          Ja, stimmt, wenn JavaSctipt ausgeschaltet ist würde meine Version mit der per Script zusammengestellten Druckerseite nicht funktionieren. Werds also mit CSS machen

          Vielen Dank nochmals :)

  2. Hallo mabuhay.

    Ich möchte ein externes Fenster öffnen, um darin die Seite Druckerfreundlicher anzuzeigen.

    Warum? Es gibt doch heutzutage <http://de.selfhtml.org/css/eigenschaften/printlayouts.htm@title=weitaus sauberere Möglichkeiten> dafür. (Siehe auch <http://de.selfhtml.org/css/formate/einbinden.htm#link_media@title=SELFHTML: Verschiedene separate Stylesheets für unterschiedliche Ausgabemedien>)

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Hi

      Ja, das hab ich auch schon angeschaut. Ich habe aber ein paar Grafiken welche nicht Hintergrundgrafiken sind (und beim Ausdrucken auch nicht dastehen müssen) und der Text wird auch nicht auf die ganze seitenbreite verteilt, was evtl. noch schön wäre.
      Kannst ja mal schauen auf http://www.mytinyarchive.ch.vu, vielleicht hast du mir gerade einen Vorschlag zur Lösung des Problems.

      mfg

      1. Hallo mabuhay,

        Ich habe aber ein paar Grafiken welche nicht Hintergrundgrafiken sind (und beim Ausdrucken auch nicht dastehen müssen)

        Du könntest diesen Bildern eine Klasse geben und ihnen somit getrennte Eigenschaften bei display geben.

        Kannst ja mal schauen auf http://www.mytinyarchive.ch.vu

        Die seite läd bei mir nicht?!

        Mit freundlichem Gruß
        Micha

        --
        LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
        1. Hallo,

          Du könntest diesen Bildern eine Klasse geben und ihnen somit getrennte Eigenschaften bei display geben.

          warum Klassen? Ich unterstelle mal, dass IDs oder kontextabhängige Selektoren sinnvoller wären.

          Kannst ja mal schauen auf http://www.mytinyarchive.ch.vu
          Die seite läd bei mir nicht?!

          Komisch. Ich werde sofort auf http://www.mypage.bluewin.ch/naeff/mytinyarchive/index.htm weitergeleitet, kein Problem.

          Ciao,
           Martin

          --
          F: Was macht ein Offizier, der in der Nase bohrt?
          A: Er holt das Letzte aus sich heraus.
          1. Hallo,

            Du könntest diesen Bildern eine Klasse geben und ihnen somit getrennte Eigenschaften bei display geben.

            warum Klassen? Ich unterstelle mal, dass IDs oder kontextabhängige Selektoren sinnvoller wären.

            Ähm, IDs versteh ich, aber was sind "kontextabhängige Selektoren". Das mit den klassen kann ich noch nachvollziehen, also display:hidden, aber wie ginge das dann mit den IDs?

            mfg

            1. Hallo,

              Ähm, IDs versteh ich, aber was sind "kontextabhängige Selektoren".

              Damit meine ich, dass man über den Nachfahrenselektor Elemente anhand ihrer Elternelemente (die ggf. wieder mit ID selektiert werden) ansprechen kann. Also zum Beispiel

              ul#navi a img { ... }

              Damit würde ich alle img-Elemente selektieren, die verlinkt (a) in einer Liste (ul) mit der ID #navi stehen. Das meinte ich mit "kontextabhängig".

              Das mit den klassen kann ich noch nachvollziehen, also display:hidden, aber wie ginge das dann mit den IDs?

              Ganz genauso - nur mit dem Unterschied, dass eine ID *genau ein* Element identifiziert, während eine Klasse ein ganzes Rudel erfassen kann. Es ist daher nicht sinnvoll, für ein Element, das man sowieso nur einmal hat, eine Klasse zu vergeben.

              So long,
               Martin

              --
              Heutzutage gilt ein Mann schon dann als Gentleman, wenn er wenigstens die Zigarette aus dem Mund nimmt, bevor er eine Frau küsst.
                (Barbra Streisand, US-Schauspielerin)
              1. Tach

                Ich habs nun angefangen mit CSS auf die Lösung zu kommen. Ein Problem besteht aber noch:
                Ich hab den Text zwischen div-Tags, dies macht irgendwie noch ein paar probleme. Wenn viel Text drin steht, geht der Text in den div-Tags einfach über die Seite hinaus. Beim Firefox unten und rechts, der InternetExplorer scheint komplett probleme zu haben (In der Vorschau zählt er einige hundert Seiten), nur mit Opera scheint es zu klappen. Habs mit der Seite http://www.mypage.bluewin.ch/naeff/mytinyarchive/_home/ueber.htm getestet da dort viel text drin steht.

            2. Hi,

              also display:hidden,

              Nö, Du solltest schon sinnvolle Werte benutzen.

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              O o ostern ...
              Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          2. Hallo Der Martin,

            warum Klassen?

            Weil ich denke eine "noprint" Klasse wäre sinnvoller als allen Bilder eine ID zu geben.

            oder kontextabhängige Selektoren

            Ja, stimmt. Ich weiß aber atm nicht, nach welchen Kriterien die Bilder ausgewählt werden, die gedruckt bzw. nicht gedruckt werden sollen.

            Komisch. Ich werde sofort auf http://www.mypage.bluewin.ch/naeff/mytinyarchive/index.htm weitergeleitet, kein Problem.

            Über die direkte URI gehts auch über die Subdomain komme ich auch heute nicht drauf.

            Mit freundlichem Gruß
            Micha

            --
            LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch