zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden Sind Frames böse? - Oder doch genau das was ich brauche?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.11.2011, 16:02
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2011
Beiträge: 8
Highttower befindet sich auf einem aufstrebenden Ast
Standard Sind Frames böse? - Oder doch genau das was ich brauche?

Hallo zusammen,

ich bin momentan an folgendem Problem beschäftigt:

Ich habe einen Pool von XML Dateien die ich in einem Browser fromatiert darstellen will. Das funktioniert mit XSLT->XHMTL und zusätzlichem CSS Skript sehr reibungslos. Allerdings stehe ich momentan vor dem Problem, dass ich eine sehr große Menge an XML Dateien habe. Deshalb habe ich mir mit Hilfe eines kleinen C# Tools eine Übersichtsseite gebaut, die ich jetzt in einer Baumansicht darstelle.

Mein eigendliches Problem ist es aber wie bekomme ich die Navi.xml und die vielen Content-Dateien zusammen angezeigt:

Ich weiß früher, als ich noch studiert habe, gab es in HTML Frames(
HTML-Code:
<frameset><frame name="foo" src="bar.html"></frameset>
) allerdings habe ich diese in den letzen Jahren immer weniger gesehen! Daher die Frage:

Sind Frames mittlerweile die Superschurken im HTML und gibt es dafür Alternativen?


Ich habe vorhin bei der allwissenden Müllmaschine mal nach gefragt, und hier habe ich folgendes kleines Snippet gefunden:
HTML-Code:
<object data="navi.xml" type="text/xml"><iframe src="navi.xml" /></object>
Das funktioniert solange gut, solange ich nicht versuche eine zweite (z.B. die Content.xml) Datei auf diese Weise einzubinden.

Ich weiß ich kann nicht gut erklären, ich hoffe dennoch das jemand mein Problem versteht.

Schon mal vielen Dank fürs Mitdenken,

Tobi

Geändert von Highttower (24.11.2011 um 16:05 Uhr) Grund: Rechtschreibung, HTML-Tags
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.11.2011, 16:14
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 747
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Willkommen im Forum.

Zitat:
Sind Frames mittlerweile die Superschurken im HTML und gibt es dafür Alternativen?
Ja und ja.

Es geht dir darum, einen wiederkehrenden Bereich auf zahlreichen Unterseiten einzufügen?

Ich würde zuerst mal suchen, ob XSL eine Art Include-Funktion hat.

Das scheint der Fall zu sein: XSL Transformations (XSLT)

Hilft das schon?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.11.2011, 16:56
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2011
Beiträge: 8
Highttower befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

das hilft mir nicht ganz folgende Ausgangssituation:

Ich habe n-Contentelemente:

Log1.xml, Log2.xml... Log43.xml, ... Log231.xml etc.

Ich habe eine navi.xml in der Name von einer XML und der Pfad abgelegt ist.

:
Mit einer xsl include Anweisung, wenn ich diese richtig verstehe muss ich ja alle Dateien in einer XML zusammen haben... oder?

--
Meine Überlegung war eine Template.xml oder sowas in der art zu basteln in der dann steht:
HTML-Code:
 <div id="navi" src="navi.xml" />
<div id="content" src="log1.xml"/>
Dann würde ich mit JS oder ähnlichem auf die Clicks in der navi.xml reagieren und die src vom content ändern.

:
Oder ista das ein komplett falscher (veralteter) Ansatz?
Mit Zitat antworten
  #4 (permalink)  
Alt 24.11.2011, 18:51
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 747
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Ich dachte, wenn du schon XSL nutzt, kannst du das Menü auch gleich per XSL mitgenerieren.

Beispiel:

article1.xml

Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="to_xhtml.xsl"?>
<article>
    <author>K. Byte</author>
    <title>Artikel 1</title>
    <content>
        Lorem Ipsum...
    </content>
</article>
article2.xml

Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="to_xhtml.xsl"?>
<article>
    <author>A. Nonymous</author>
    <title>Artikel 2</title>
    <content>
        <p>Hello World...</p>
        <p>Trallala</p>
    </content>
</article>
to_xhtml.xsl

Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat" />

    <xsl:template name="menu">
        <ul id="navigation">
            <li><a href="article1.xml">Article 1</a></li>
            <li><a href="article2.xml">Article 2</a></li>
        </ul>
    </xsl:template>

    <xsl:template name="article">
        <div id="content">
            <h2><xsl:value-of select="/article/title" /></h2>

            <p><xsl:value-of select="/article/author" /></p>

            <p><xsl:copy-of select="/article/content" /></p>
        </div>
    </xsl:template>

    <xsl:template name="html-head">
        <head>
            <meta charset="utf-8" />
            <title><xsl:value-of select="/article/title" /></title>
            <link href="styles.css" media="screen" rel="stylesheet" type="text/css" />
        </head>
    </xsl:template>

    <xsl:template name="html-body">
        <body>
            <h1>Mein Artikelsystem</h1>

            <xsl:call-template name="menu"></xsl:call-template>

            <xsl:call-template name="article"></xsl:call-template>
        </body>
    </xsl:template>

    <xsl:template match="/">
        <html lang="en">
            <xsl:call-template name="html-head"></xsl:call-template>
            <xsl:call-template name="html-body"></xsl:call-template>
        </html>
    </xsl:template>

</xsl:stylesheet>
styles.css

Code:
* {
    margin: 0;
    padding: 0;
}

body {
    padding: 20px;
    font-family: Georgia, Times, serif;
}

#navigation {
    width: 196px;
    border: 2px solid #ccc;
    float: left;
    background: #f0f0f0;
    list-style: none;
}

#navigation li {
    border-bottom: 1px solid #ccc;
}

#navigation li:last-child {
    border-bottom: none;
}

#navigation a {
    display: block;
    text-decoration: none;
    padding: 5px 10px;
    color: #66f;
}

#navigation a:hover {
    background: #ff6;
}

#content {
    margin-left: 220px;
}
to_xhtml.xsl (oder zumindest das Menü-Template darin) müsstest du dann eben bei jeder Änderung mit deinem C#-Script generieren.

PS: Mein XSL ist mal wieder reichlich eingerostet. Das vorsichtshalber als Hinweis.

Geändert von mermshaus (24.11.2011 um 18:56 Uhr) Grund: value-of für /article/content in copy-of geändert, um HTML-Code im Content zuzulassen
Mit Zitat antworten
  #5 (permalink)  
Alt 24.11.2011, 23:55
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.11.2011
Beiträge: 8
Highttower befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

vielen Dank das und dieses kleine Snippet:

Code:
<xsl:value-of select="document('celsius.xml')/celsius/result[@value=$value]"/>
Vor allem der hinweis, das ich ein zweite XML-Dokument aus meinem StyleSheet heruas aufrufen kann hat mich um einiges weiter gebracht. Aber jetzt erst mal Feierabend.

Herzlichen Dank,

Tobi
Mit Zitat antworten
  #6 (permalink)  
Alt 25.11.2011, 09:05
Benutzerbild von schnuffkopp
Geek aus Leidenschaft
neuer user
 
Registriert seit: 20.10.2011
Ort: Hamburg
Beiträge: 27
schnuffkopp befindet sich auf einem aufstrebenden Ast
Standard

also ich hab kürzlich mein fernstudium in webdesign abgeschlossen und hab in der lektion html schon was von frames gelernt. allerdings wurde das thema nur ganz kurz angeschnitten weil diese art wohl mitlerweile out ist und durch die einbindung von css viel übersichtlicher gehandelt werden kann.
übrigens gibt es im netz viele hilfreiche seiten, die auch aktuell hehalten werden.
Mit Zitat antworten
  #7 (permalink)  
Alt 25.11.2011, 10:47
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Eigentlich habe ich da etwas ähnliches ...

Online-Archiv mit sehr vielen Seiten. Ich habe dazu eine Auswahltabelle und
einen iframe zur Anzeige mit dem Adobe-Plugin. Böse Sache, tststs ...

Mit object funktioniert es nicht richtig (ich hatte es probiert, es wollte aber
nicht so richtig - soweit ich mich erinnere war's mal wieder der IE).

Frames sind nicht böse, ab und zu sind sie recht praktisch. Und ob ein Frame
ein PDF oder XML darstellt ist egal - er macht es.

Grüße Joe.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #8 (permalink)  
Alt 25.11.2011, 11:29
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.845
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Frames sind ja nicht pauschal "böse". Wenn man sie sparsam und korrekt einsetzt, dann spricht imo nichts dagegen.

In freier Wildbahn gibt es nur keinen vernünftigen Einsatzzweck.

In Joe's Fall ist das Archiv nur authorisiert zugänglich, also fällt schonmal der Punkt der fehlerhaften Indexierung durch Suchmaschinen als Nachteil raus. Weiterhin würde ich mal unterstellen, dass sich dort niemand Bookmarks speichert. Dann würde imo nichts mehr gegen Frames bzw. IFrames sprechen.

Und im Falle einer zwei- oder mehrgeteilten Ansicht, wo einige Teile als HTML, ein anderer als PDF angezeigt wird, hast du ja kaum bis keine Alternativen.

In freier Wildbahn sieht die Sache da anders aus. Es muss so gut wie nie ein PDF inline angezeigt werden, die einzelnen Seiten müssen korrekt indizier- und "bookmark"-bar sein. Es ist halt eher von Nachteil, wenn jmd. von Mr. G nur auf dem Navi-Frame landet und der Rest fehlt. Oder wenn man vermeintlich ein Bookmark setzt, aber dann doch nur auf der Startseite landet.

In Backends oder speziellen Anwendungen, wo ich Joe's Archiv klar dazu zähle, können (I)Frames sinnvoll sein, in allen anderen Fällen aber eher nicht.
Mit Zitat antworten
Antwort

Stichwörter
div nachladen, frames, xml-dateien

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Relaunch - vorher Frames - jetzt CSS coolpixel CSS 3 31.08.2010 19:53
Frames ohne Frames? kochi_rulez CSS 8 11.10.2008 23:08
CSS statt Frames highlander CSS 6 08.04.2008 07:01
CSS statt Frames SPMan CSS 6 14.06.2007 17:18
Website mit Frames: no-scrolling, trotzdem Scr. möglich Black Fladder (X)HTML 17 29.12.2004 10:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:36 Uhr.