Norman: HTML aus externer Datei in Blockelement einfügen?

Hallo ihr lieben!

Kann mir jemand sagen, wie ich einen Bestimmten Bereich einer externen HTML-Datei (oder, wenn nicht anders möglich, auch den ganzen Qeulltext der Datei) in ein Blockelement, meinetwegen <div>, mit JS reinladen kann? Hatte bis jetzt irgendwas mit einer load-funktion aufgeschnappt aber weis noch nichts konkretes. Ich müsste also wissen:

  • Wie deklariere ich den Quelltext der externen Datei, damit die load-Funktion darauf zugreifen kann? (evtl. mit <div name=""/id="">? -> wäre dies auch mit dem kompletten Quelltext möglich bzw. in diesem Fall auch noch nötig? -> die einfachere Lösung ist bevorzugt ;-) )

  • Wie greife ich auf Diesen dann zu und gebe ihn aus?

Wäre für schnelle Antwort sehr dankbar...

Gruß,
Norman

  1. Hallo Norman,

    Kann mir jemand sagen, wie ich einen Bestimmten Bereich einer externen HTML-Datei (oder, wenn nicht anders möglich, auch den ganzen Qeulltext der Datei) in ein Blockelement, meinetwegen <div>, mit JS reinladen kann?

    Garnicht

    Hatte bis jetzt irgendwas mit einer load-funktion aufgeschnappt aber weis noch nichts konkretes. Ich müsste also wissen:

    Es gibt in Javascript keine Funktion namens load()

    Gruß,

    Dieter

    1. Hallo Dieter,

      danke für den Hinweis.

      Aber ich habe auch was in der Art wie eine "outerHTML"-Funktion gelesen. Ist dazu was bekannt?

      1. Hallo,

        Aber ich habe auch was in der Art wie eine "outerHTML"-Funktion gelesen. Ist dazu was bekannt?

        Eine IE-Technik zum Zugriff auf HTML-Fragmente -- Beispiel:

        <!DOCTYPE ...>
        <html>
        <head>
        <title>...</title>
        </head>
        <body>
        <p>Inhalt</p>
        </body>
        </html>

        document.getElementsByTagName("body").item(0).innerHTML liefert:

        <p>Inhalt</p>

        document.getElementsByTagName("body").item(0).outerHTML liefert:

        <body>
        <p>Inhalt</p>
        </body>

        MfG, Thomas

      2. Hallo Norman,

        outerHTML ist eine Eigenschaft des inzwischen veralteten document.all Objects, das es aber nur fuer Internet Explorer gab. Aber mit Text einlesen hat das nichts zu tun.

        Gruß,

        Dieter

    2. Kann mir jemand sagen, wie ich einen Bestimmten Bereich einer externen HTML-Datei (oder, wenn nicht anders möglich, auch den ganzen Qeulltext der Datei) in ein Blockelement, meinetwegen <div>, mit JS reinladen kann?
      Garnicht

      @Dieter:
      Was mich hier stört, ist der Absolutheitsanspruch, mit dem hier Aussagen vertreten werden, ohne Rücksicht auf deren Wahrheitsgehalt! "Garnicht" ist auf jeden Fall falsch.
      Wieso soll es nicht möglich sein den Quelltext einer Datei zu lesen. Dies ist doch für jeden Browser eigentlich ein Kinderspiel.

      @Norman:
      Wenn Du von Javascript aus Java aufrufst, kannst Du das Ziel erreichen:

      function getText(url)
               {
               if ((location.host == '' && url.indexOf(location.protocol) == -1) || url.indexOf(location.host) == -1)
                  {
                  netscape.security.PrivilegeManager.enablePrivilege('UniversalConnect');
                  }

      var dest = new java.net.URL(url);
               var dis = new java.io.DataInputStream(dest.openStream());
               var res = '';
               while ((line = dis.readLine()) != null)
                  {
                  res += line;
                  res += java.lang.System.getProperty('line.separator');
                  }
               dis.close();
               return res;
               }

      Da nun die Variable res den Quelltext der Datei url enthält, kannst Du diese Variable nun nach Belieben weiterverarbeiten und schließlich mittels innerHTML oder DOM-Funktionen in ein beliebiges Element einfügen.

      Gruß
      Avalon

      1. hi,

        Wenn Du von Javascript aus Java aufrufst

        damit bringst du aber eine zusätzliche technik ins spiel, die bisher noch gar nicht zur debatte stand.

        Dieters aussage entkräftest du _damit_ also nicht.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Wenn Du von Javascript aus Java aufrufst

          damit bringst du aber eine zusätzliche technik ins spiel, die bisher noch gar nicht zur debatte stand.

          Damit berührst Du Grundsatzfragen der Staatstheoretiker und spielst auf den Unterschied zwischen autoritären und liberalen Staaten an. In ersteren ist alles Verboten, was nicht explixiet erlaubt ist, in letzteren ist alles erlaubt, was nicht expliziet verboten ist.

          Da ich eher dem Liberalismus als dem Totalitarismus zuneige, hatte ich keinen Grund anzunehmen, daß Java ausgeschlossen sei. Falls Du diese grundsätzliche Frage anders beantwortest, ist das Dein ganz persönliches Problem, hat aber nichts mit dem Wahrheitsgehalt Dieters grundsätzlichem "garnicht" zu tun.

          Gruß
          Avalon

          1. Hallo Avalon,

            Bist Du sicher, dass Du nicht ein bisschen zuviel heisse Luft machst?

            Was mich hier stört, ist der Absolutheitsanspruch, mit dem hier Aussagen vertreten werden, ohne Rücksicht auf deren Wahrheitsgehalt! "Garnicht" ist auf jeden Fall falsch.

            Der OP wollte im Endeffekt wissen, ab man mit Javascript HTML-Dateien einlesen kann und das kann man im Browserkontext nicht, Punkt.
            Es waere also nett, wenn Du sagen wuerdest 'Ich habe eine Idee, mit der man unter Zuhilfenahme anderer Techniken moeglicherweise an die gewunschten Daten kommt'.

            hat aber nichts mit dem Wahrheitsgehalt Dieters grundsätzlichem "garnicht" zu tun.

            Ich moechte mich und den Wahrheitsgehalt meiner Aussagen hier nicht als Gegenstand philosophischer Erguesse sehen muessen. Das ist weder angemessen, noch hoeflich.

            Gruß,

            Dieter

            1. @Dieter

              Es waere also nett, wenn Du sagen wuerdest 'Ich habe eine Idee, mit der man unter Zuhilfenahme anderer Techniken moeglicherweise an die gewunschten Daten kommt'.

              Du mußt Dich in dieser Beziehung nicht beschweren, hättest Du etwas intensiver vor Deinem Posting nachgedacht, wäre diese Diskussion nicht entstanden.

              Du hättest auch antworten können: "Mit Javascript geht das nicht". Stattdessen kam von Dir ein kurzes, knappes "garnicht".
              Da "garnicht" gegenüber "nicht" eine Steigerung (in der Tiefe und/oder Breite) heraushebt, muß der geneigte Leser Deine Antwort dahingehend interpretieren, daß das "...nicht" sich nicht ausschließlich auf Javascript bezieht, sondern einen bedeutend größeren Bereich abdeckt, oder von allgemeinerer Bedeutung ist.

              Also faß' Dich erstmal selber an die Nase, bevor Du über meine Korrekturen Deiner falschen Aussagen beschwerst.
              Kommunikation ist halt schwer, wenn ein Teilnehmer die Feinheiten der Sprache nicht versteht.

              Gruß
              Avalon

              1. Hallo Avalon,

                Da "garnicht" gegenüber "nicht" eine Steigerung (in der Tiefe und/oder Breite) heraushebt, muß der geneigte Leser Deine Antwort dahingehend interpretieren, daß das "...nicht" sich nicht ausschließlich auf Javascript bezieht, sondern einen bedeutend größeren Bereich abdeckt, oder von allgemeinerer Bedeutung ist.

                Was du da alles mit deinem grossen Wissen über die Feinheiten der Sprache rein interpretierst, ist mir voellig wurscht. Ich finde ganz einfach Begriffe wie 'falsche Aussage' ziemlich heftig. Das ist einfach nicht die Art, wie man mit anderen Leuten umgeht.

                Oh ja, und sei so lieb und erklär mir bitte nicht den feinen Unterschied zwischen Falschaussage und bewusster Falschaussage.

                Gruß,

                Dieter

              2. Hi,

                Du hättest auch antworten können: "Mit Javascript geht das nicht". Stattdessen kam von Dir ein kurzes, knappes "garnicht".

                Da das "mit JS" bereits in der Frage stand, gab es keinen Grund, das nochmal zu wiederholen ...

                cu,
                Andreas

                --
                Warum nennt sich Andreas hier MudGuard?
                Schreinerei Waechter
                Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    3. Kann mir jemand sagen, wie ich einen Bestimmten Bereich einer externen HTML-Datei (oder, wenn nicht anders möglich, auch den ganzen Qeulltext der Datei) in ein Blockelement, meinetwegen <div>, mit JS reinladen kann?
      Garnicht

      Und es geht doch. Vor kurzem hier behandelt, sah die Lösung wie folgt aus:
      Man lade die betreffende Datei in einen anderen Frame und greife dann mittels Javascript (parent.FrameName.document.outerHTML oder via anderer geeigneter DOM-Elemente) darauf zu.

  2. Meinst du vielleicht <iframe>? Dat is n Frame in ner Seite, den du mitten in den Text einfügen kannst...