Der Bär: Externes html/xhtml Script einbinden

Hallo,

ich möchte gerne in eine html/xhtml Datei (eins von beiden wäre mir recht)
eine externe html/xhtml Datei einbinden (hier ist mir auch beides recht).

Ich habe keinen Zugriff auf den Server. Ein Include-Befehl für einen Apachi
Server hilft mir also nicht1

Ich denke, es muesste doch logischerweise mit der Anweisung

<script scr="xhtml-datei" type="xhtml"></script>

funktionieren. Dem Parser sollte es doch egal sein, ob er ein Javascript oder
eine weitere xhtml Datei einbindet. Die korrekte Syntax finde ich aber ncht.

Falls ich auf dem Hozweg bin, bin ich natürlich auch für andere lösungen dankbar!

Schöne Grüße, der Bär

  1. Hallo,

    schon mal über ein iframe nachgedacht?

    Hallo,

    ich möchte gerne in eine html/xhtml Datei (eins von beiden wäre mir recht)
    eine externe html/xhtml Datei einbinden (hier ist mir auch beides recht).

    Ich habe keinen Zugriff auf den Server. Ein Include-Befehl für einen Apachi
    Server hilft mir also nicht1

    Ich denke, es muesste doch logischerweise mit der Anweisung

    <script scr="xhtml-datei" type="xhtml"></script>

    funktionieren. Dem Parser sollte es doch egal sein, ob er ein Javascript oder
    eine weitere xhtml Datei einbindet. Die korrekte Syntax finde ich aber ncht.

    Falls ich auf dem Hozweg bin, bin ich natürlich auch für andere lösungen dankbar!

    Schöne Grüße, der Bär

  2. Hi,

    Ich denke, es muesste doch logischerweise mit der Anweisung

    <script scr="xhtml-datei" type="xhtml"></script>

    funktionieren.

    Warum "logischerweise"?

    Dem Parser sollte es doch egal sein, ob er ein Javascript oder
    eine weitere xhtml Datei einbindet.

    Warum sollte ihm das egal sein?

    Die korrekte Syntax finde ich aber ncht.

    Du suchst (I)Frame oder Object.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. [latex]Mae  govannen![/latex]

      Du suchst (I)Frame oder Object.

      Wobei Object mindestens im IE6 problematisch ist. Leider, wäre es doch das sinnvollste Element.

      Cü,

      Kai

      --
      Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
      selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
      Mein Selfhtml-Kram
  3. [latex]Mae  govannen![/latex]

    Ich denke, es muesste doch logischerweise mit der Anweisung

    <script scr="xhtml-datei" type="xhtml"></script>

    funktionieren. Dem Parser sollte es doch egal sein, ob er ein Javascript oder
    eine weitere xhtml Datei einbindet. Die korrekte Syntax finde ich aber ncht.

    Meinem Büro-Shredder sollte es doch egal sein, ob ich Papier reinstecke oder Metallplatten. Oder so.

    Der Browser wird zwar die Datei einlesen, aber der Parser wird sofort meckern, weil er als erstes überprüft, ob es sich um syntaktisch korrekten Code handelt, in der Regel Javascript. Und da (X)HTML nun einmal kein Javascript ist, sagt der Parser „Nää, das kenne und mag ich nicht, hab keine Lust auf dem Scheiß“ und bricht ab. Und somit geschieht nichts weiter.

    Wenn du keinen Server-Zugriff hast, wird dir wohl nur ein Iframe oder Frameset helfen (je nachdem, was du und wie du es erreichen willst)

    Cü,

    Kai

    --
    Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
    selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
    Mein Selfhtml-Kram
    1. <script scr="xhtml-datei" type="xhtml"></script>
      Der Browser wird zwar die Datei einlesen, aber der Parser wird sofort meckern, weil er als erstes überprüft, ob es sich um syntaktisch korrekten Code handelt, in der Regel Javascript.

      der op hat doch eindeutig als mime-type "xhtml" angegeben, warum sollte der browser denken, es sei javascript?

      scnr

      1. [latex]Mae  govannen![/latex]

        der op hat doch eindeutig als mime-type "xhtml" angegeben, warum sollte der browser denken, es sei javascript?

        Weil quasi alle Browser javascript als default annehmen. Gut, vielleich versuchen sie es gar nicht erst, wenn sie einen ungültigen mime-type erhalten, vielleich aber doch. Das entscheiden die Browser-Hersteller.

        User agents may still attempt to interpret incorrectly specified scripts but are not required to. bezieht sich in erster Linie zwar auf fehlende Auszeichnung, wird aber vermutlich auch auf falsche mime-type Anwendung finden

        Warum sollte der Browser es als xhtml einbinden?

        Cü,

        Kai

        --
        Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
        selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
        Mein Selfhtml-Kram
        1. der op hat doch eindeutig als mime-type "xhtml" angegeben, warum sollte der browser denken, es sei javascript?

          Weil quasi alle Browser javascript als default annehmen. Gut, vielleich versuchen sie es gar nicht erst, wenn sie einen ungültigen mime-type erhalten, vielleich aber doch. Das entscheiden die Browser-Hersteller.

          Du solltest allerdings zwischen ungültigen (wie dem Genannten) und gültigen MIME-Typen unterscheiden, der OP könnte ja auch "text/html" verwenden. Zumindest der Firefox verarbeitet ihm nicht bekannte MIME-Typen nicht, ein nicht eingebundenes, sondern direkt hineingeschriebenes Skript steht aber im DOM-Baum zur Verfügung.

          User agents may still attempt to interpret incorrectly specified scripts but are not required to. bezieht sich in erster Linie zwar auf fehlende Auszeichnung, wird aber vermutlich auch auf falsche mime-type Anwendung finden

          Ist ohnehin der falsche Absatz, den du verlinkt hast, er bezieht sich auf die Default-Skriptsprache sowie das Verhalten von intrinsischen Events (onclick="bla();" beispielsweise) und hat mit Skripten innerhalb <script ...>...</script> nichts zu tun.

          Warum sollte der Browser es als xhtml einbinden?

          Warum sollte er es durch den Parser jagen, wenn er weiß, dass es keine Skriptsprache ist, die er verarbeiten kann?

          --
          Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
          Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
          1. [latex]Mae  govannen![/latex]

            der op hat doch eindeutig als mime-type "xhtml" angegeben, warum sollte der browser denken, es sei javascript?

            Weil quasi alle Browser javascript als default annehmen. Gut, vielleich versuchen sie es gar nicht erst, wenn sie einen ungültigen mime-type erhalten, vielleich aber doch. Das entscheiden die Browser-Hersteller.
            Du solltest allerdings zwischen ungültigen (wie dem Genannten) und gültigen MIME-Typen unterscheiden, der OP könnte ja auch "text/html" verwenden. Zumindest der Firefox verarbeitet ihm nicht bekannte MIME-Typen nicht, ein nicht eingebundenes, sondern direkt hineingeschriebenes Skript steht aber im DOM-Baum zur Verfügung.

            Mein Beitrag bezog sich _ausschließlich_ auf den oben stehengelassenen Satz von suit _und_ bei Verwendung von type="xhtml". Siehe weiter unten.

            User agents may still attempt to interpret incorrectly specified scripts but are not required to. bezieht sich in erster Linie zwar auf fehlende Auszeichnung, wird aber vermutlich auch auf falsche mime-type Anwendung finden
            Ist ohnehin der falsche Absatz, den du verlinkt hast, er bezieht sich auf die Default-Skriptsprache sowie das Verhalten von intrinsischen Events (onclick="bla();" beispielsweise) und hat mit Skripten innerhalb <script ...>...</script> nichts zu tun.

            Es ging mir auch nicht darum, was innerhalb von <script ...>...</script> steht, sondern darum, ob die Browser den Inhalt überhaupt parsen, wenn ein ungültiger mime-type vorkliegt, und falls das so sein sollte, war meine Vermutung, daß die es _dann_ wohl als Javascript tun würden.

            Warum sollte er es durch den Parser jagen, wenn er weiß, dass es keine Skriptsprache ist, die er verarbeiten kann?

            Eben.

            Cü,

            Kai

            --
            Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
            selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
            Mein Selfhtml-Kram
  4. Iframes kenne ich! der Code soll aber völlig transparent eingebunden werden. Bei iframs wird eine kompletter Code (mit header etc.) verlangt der dann auch strikt im ifram-fenster mit ensprechnden Beschänkungen läuft.

    Bitte nur Antworten, bei dem der externe Code wirklich transparent eingebunden wird (z.B. sollen sich style-sheet Anweisungen der "Mutterdatei" auch auf
    den eingebundenen Code auswirken).

    Nachomal Danke, der Bär

    1. Mahlzeit Der Bär,

      Bitte nur Antworten, bei dem der externe Code wirklich transparent eingebunden wird (z.B. sollen sich style-sheet Anweisungen der "Mutterdatei" auch auf
      den eingebundenen Code auswirken).

      Dann wirst Du keine bekommen, wenn Du http://de.selfhtml.org/servercgi/server/ssi.htm@title=SSI so kategorisch ausschließt. Eine andere Möglichkeit existiert nämlich AFAIK nicht.

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    2. Hallo,

      vielleicht gibt es eine JS-Lösung. Ich spekuliere jetzt einfach mal, ohne genau zu wissen, ob es geht oder nicht und ohne einen konkreten Lösungscode zu liefern. Vielleicht hilft es trotzdem.

      Mein Idee:
      Per JavaScript lassen sich ja URLs aufrufen und auslesen. Das ist ja letztlich das Prinzip, auf dem auch AJAX basiert. Dieser Code kann nun von JavaScript mit document.getElementById('hierSollDasZeugsHin').innerHTML eingebunden werden.

      Ich habe es wie gesagt nicht ausprobiert. Das bleibt als Übung dir überlassen. Könnte aber funktionieren...

      Iframes kenne ich! der Code soll aber völlig transparent eingebunden werden. Bei iframs wird eine kompletter Code (mit header etc.) verlangt der dann auch strikt im ifram-fenster mit ensprechnden Beschänkungen läuft.

      Bitte nur Antworten, bei dem der externe Code wirklich transparent eingebunden wird (z.B. sollen sich style-sheet Anweisungen der "Mutterdatei" auch auf
      den eingebundenen Code auswirken).

      Nachomal Danke, der Bär

      1. Mein Idee:
        Per JavaScript lassen sich ja URLs aufrufen und auslesen. Das ist ja letztlich das Prinzip, auf dem auch AJAX basiert. Dieser Code kann nun von JavaScript mit document.getElementById('hierSollDasZeugsHin').innerHTML eingebunden werden.

        Ich habe es wie gesagt nicht ausprobiert. Das bleibt als Übung dir überlassen. Könnte aber funktionieren...

        Danke!!! Den Weg habe ich probiert ... und werde da wohl auch weiter machen.
        Sieht am erfolgsversprechenden aus. Bisher bin ich nicht weit gekommen und ich fürchte, dass es nur bei sehr einfachen includes gut funktioniert. Wenn der
        includete Text beispielsweise wieder eine JavaScript Anweisung enthält (im
        includeten Text sind ein paar onclick-Anweisungen) wird es wohl in die Hose gehen.

        Nochmal für nette Meschen die helfen wollen: die inlcude-Methode sollte
        möglichst nahe an die Server-Side-Include-Methode (SSI) ranreichen!

        vielen Dank an alle!

        1. Sieht am erfolgsversprechenden aus.

          warum clientseitige krücken verwenden, wenn man hochmoderne serverseitige beinprothesen aus carbon verwenden kann?

          includete Text beispielsweise wieder eine JavaScript Anweisung enthält (im
          includeten Text sind ein paar onclick-Anweisungen) wird es wohl in die Hose gehen.

          escapen schadet nicht

          Nochmal für nette Meschen die helfen wollen: die inlcude-Methode sollte
          möglichst nahe an die Server-Side-Include-Methode (SSI) ranreichen!

          warum dann nicht gleich diese verwenden, ich verstehs immer noch nicht - das rad neu erfinden hat noch niemanden reich gemacht (das rad kopieren und als sein eigenes verkaufen hingegen schon)

        2. Sieht am erfolgsversprechenden aus. Bisher bin ich nicht weit gekommen und ich fürchte, dass es nur bei sehr einfachen includes gut funktioniert. Wenn der
          includete Text beispielsweise wieder eine JavaScript Anweisung enthält (im
          includeten Text sind ein paar onclick-Anweisungen) wird es wohl in die Hose gehen.

          Was hast du eigentlich vor? Warum hast du weder Kontrolle über das, was eingebunden wird noch das, was einbindet (Server)?

          Nochmal für nette Meschen die helfen wollen: die inlcude-Methode sollte
          möglichst nahe an die Server-Side-Include-Methode (SSI) ranreichen!

          Es gibt keine, die auch nur annähernd an SSI heranreicht. In (X)HTML selbst gibt es gar keinen derartigen Include-Mechanismus, also bleiben nur andere Techniken, CSS kennt sowas auch nicht, bleibt nur JavaScript. Dieses ist (wie CSS auch) nur eingeschränkt verfügbar (teils in Clients abgestellt, teils gar nicht vorhanden) und unterliegt natürlich der Same-Origin-Policy. Sollte sich also die Adresse des Einzubindenden in Protokoll, Domain oder Portnummer (oder einer Kombination daraus) von der Adresse des Einbindenden unterscheiden, wird es mit dem bereits genannten AJAX nicht funktionieren.

          --
          Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
          Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
          1. @@Timo "God's Boss" Reitz:

            In (X)HTML selbst gibt es gar keinen derartigen Include-Mechanismus

            Eigentlich doch, wenn dieser von Webservern unterstützt würde. [HTML401@de §B.3.3]

            Live long and prosper,
            Gunnar

            --
            Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
      2. Mein Idee:
        Per JavaScript lassen sich ja URLs aufrufen und auslesen. Das ist ja letztlich das Prinzip, auf dem auch AJAX basiert.

        Nein, das geht nicht. Auch AJAX unterliegt der same origin policy

        Struppi.

    3. Hi,

      Iframes kenne ich! der Code soll aber völlig transparent eingebunden werden. Bei iframs wird eine kompletter Code (mit header etc.) verlangt der dann auch strikt im ifram-fenster mit ensprechnden Beschänkungen läuft.

      Bitte nur Antworten, bei dem der externe Code wirklich transparent eingebunden wird

      Dann bitte nur Fragen, die auch der tatsaechlichen Aufgabenstellung entsprechen. Du sprachst von einer (X)HTML-Datei - und nicht nur von Teilbestandteilen einer solchen.

      (z.B. sollen sich style-sheet Anweisungen der "Mutterdatei" auch auf
      den eingebundenen Code auswirken).

      Dann fuege ihn ins Dokument ein. Das koenntest du bspw. per JavaScript machen.

      MfG ChrisB

      --
      „This is the author's opinion, not necessarily that of Starbucks.“