iFrame mit css nachgestalten

E

Exorial

Gast
Hallo,

kann man eigentlich ein iFrame mit css in etwa nachgestalten.
Wie löse ich es über css, das wenn ich über die Navi verschiedene Gebiete
anklicke, diese im div dargestellt werden.
In einem iFrame werden ja nur URls geladen


vielen Dank schonmal
 
Hi,

also du möchtest, wenn man auf einen Link in deiner Navigation drückt,
dass nicht die ganze Seite neu geladen wird, sondern nur ein Teil der Seite?!
Das geht nicht mit CSS. CSS ist ausschließlich für die Gestaltung der Seite gedacht.
Also Höhen, Breiten, Farbe, Eigenschaften von Elementen und so weiter.

Ob die Lösung deines Problems Javascript heißt, kann ich dir nicht sagen, da ich mich mit Javascript nicht auskenne.

Gruß,

Schneemann
 
Vollkommen unverständlich deine Frage. Den Inhalt eines IFrames kannst du (aus Sicherheitsgründen) aus der Container-Seite nicht weiter beeinflussen. Rahmen und Scrollverhalten kannst du setzen (auch via CSS), aber nicht den Inhalt. Dieser wird ausschliesslich von der geladenen URL bestimmt.
 
Ihr habt nicht verstanden, was ich will.
Also: Ich will nicht den Inhalt eines iFrames beeinflussen über css.
Ich habe auch nichts davon geschrieben, das ich eine ganze oder halbe oder was auch immer Seite laden will. Ich weiß nicht wie ihr darauf kommt - steht doch nirgends.
Ich möchte, wie oben beschrieben, ein iFrame mit css bauen. Nicht mit css in einem
iFrame rumhantieren. Das iFrame will ich ja ersetzen, das soll weg.
Aber nicht einfach ein scrollbarer Div-Container mit irgendwelchen Inhalten, das hat nichts mit einem iFrame zu tun, auch wenn das viele glauben.
Sondern ich möchte wissen, wenn ich in der Navi verschiedene Themen habe, also
meinetwegen Labor, Ambiente, Werkstatt was auch immer - eben verschiedene Inhalte -
und diese Inhalte in dem Container laden will, wie mit einem iFrame, ob man das über
css lösen kann? Ich klicke also auf Labor und lade die Laborseite im Container, ich klicke auf Ambiente und lade die Ambienteseite im gleichen Container usw. eben wie in einem iFrame.
Soweit ich weiß kann man das über css (vlt auch JavaScript) lösen, aber ich weiß nicht genau wie. Wichtig ist auch, das man beim googeln immer auf die ganze Webseite kommt und nicht nur auf Fragmente, wie das nunmal bei iFrames der Fall ist, also Thema SEO!!!
 
Na ja, ich hatte ja geschrieben, dass man deinen Satzbau nicht versteht :) Ich habe dann nur interpretiert.
 
Nur über CSS kannst du das wohl nicht lösen, brauchst auch Javascript dazu. Entweder du blendest die verschiedenen Container mit den Inhalten ein und aus (das geht so schnell, das kriegst du nicht mit) oder aber du hast nur einen ständig sichtbaren Container und füllst dessen Inhalten mit Text und/oder HTML. Recht einfach geht dies von der Hand z.B. mit Prototype.

Was du nicht machen kannst ist eine "ganze Seite" - also eine eigenständige URL - in einen DIV zu laden. Um so etwas zu machen gibt es widerum die IFRAMEs oder FRAMEs. Könnte man ggfs. über Ajax realisieren, aber ich glaube den Aufwand wolltest du nicht betreiben.
 
Es geht, allerdings wird dabei grundsätzlich der gesamte Content vorgehalten, indem du einen Container erstellst, ihm die Optik eines Iframes verpasst und die inneliegenden Container jeweils aus-/einblendest. Relativ einfache Sache, unter Zuhilfenahme von JS.

Allerdings frage ich mal andersrum: warum willst du das? Was genau spricht dagegen, auf jeder deiner Unterseiten das Menü vorzuhalten? Wenn es dir um eine einfache Wartung des Menüs geht, setze auf php, indem du das Menü per variable einbindest. Ein Menü, eine Datei. Auf jeder Seite verfügbar, ändert sich was, änderst du nur die Menüdatei.

LG
 
Mir geht es eigentlich nur um die Suchmaschinenoptimierung. Ich habe eine Website mit einem iFrame auf der Homepage oder Startseite. Wenn ich nach Begriffen aus dem Inhalt des iFrames google, bekomme ich auch nur den Inhalt des iFrames, ohne Bezug zur Homepage, anders ausgedrückt: es fehlt immer die Umgebung der Startseite.
Nun herrscht ja allgemein eine gewisse Ablehnung gegenüber iFrames, veraltet, geht mit css besser etc. Das scheint mir aber eher eine Massenmeinung zu sein, den bei viele Webdesignern erfreuen sich die iFrames wieder steigender Beliebtheit Und im Net sehe ich sie alle Nase lang. Und was viele nicht wissen ist, das viele AJAX Elemente
iFrames einsetzen, sonst würden sie gar nicht funktionieren. Ein div container mit content, der sich scrollen läßt, ist noch lange kein iFrame.
Lange Rede: ich suche einfach eine Möglichkeit entweder mein iFrame zu belassen, aber dafür zu sorgen, das beim googeln eben der Besucher imer auf die ganze Webseite verwiesen wird, oder eben eine Möglichkeit ein iFrame über css und JS nachzubauen und zwar mit den Funktionen, das beim anklicken eines Themas auch immer der content wechselt.
 
Dann geht das so, wie ich es vorschlug, u.a. am besten. Im übrigen ist mit JS (was ja AJAX ist, das ist nur Javascript unter einem besonders tollen Modenamen) kein iFrame nötig. Die Inhalte der Seiten werden via JS direkt in die DIVs gespeist. Das geht sogar sehr einfach, und iFrames sind NICHT im kommen, im Gegenteil, gerade deswegen sterben sie endlich aus.

"Und was viele nicht wissen ist, das viele AJAX Elemente
iFrames einsetzen, sonst würden sie gar nicht funktionieren"
ist das falscheste was ich darüber überhaupt zu lesen geträumt hätte. Miit AJAX/JS lassen sich alle Weile einer website austauschen, da hier der Austausch des reinen Inhalts innerhalb der Childnodes geregelt wird, man kann direkt auf den Inhalt der Elemente zugreifen udn sie verändern - wozu da noch nen iFrame? Das wäre sowas von überladen.

LG
 
Da muß ich dir widersprechen...das stimmt nicht. Viele merken nicht, dass viele Ajax Elemente iFrames einsetzen. Diese sehen die Leute garnicht und denken das wären Divs - aber es sind eben Frames, nur wird das ignoriert.
Und das iFrames sich steigender Beliebtheit erfreuen habe ich mir nicht aus den Fingern gesogen. Es geht nicht darum, was einem passt oder nicht passt, sondern was anhand von Statistiken auffällig ist. Wohlgemerkt ich spreche nur von iFrames.
Übrigens AJAX nur als Javascript zu bezeichnen ist etwas einfach. Da ist schon ein bischen mehr enthalten. Das Problem bei AJAX ist nur, dass Suchmaschinen - die ja nunmal kein Javascript ausführen - den Inhalt, der von einer AJAX Applikation erzeugt wird, nicht sehen.
Wie dem auch sei, gib doch mal ein Beispiel, wie via JS Seiten direkt in die Divs eingespeist werden, welche Befehle sind das-damit würdest du mir helfen.
 
Ich denke nicht, dass bei Ajax sichtbare iFrames verwendet werden.

Zitat aus Wikipedia:
Die meisten Lösungen basieren auf so genannten Inline Frames, weiteren HTML-Elementen. Das Inline-Frame-Element ist so gestaltet, dass dieses für den Nutzer nicht sichtbar ist, und wird benutzt, um die Browser-Historie des Nutzers auf diesem Umweg zu befüllen. (Google Maps führt zum Beispiel eine Suche in einem nicht sichtbaren Inline-Frame-Element durch und befüllt mit den daraus resultierenden Ergebnissen das Ajax-Element der sichtbaren Webseite).
 
Normalerweise werden bei AJAX keine IFrames eingesetzt, bzw. es hat nichts mit der zugrundeliegenden Technik zu tun. Hier und da wird für irgendein Mash-Up auch mal ein IFrame eingesetzt, das ist aber insgesamt eher die Ausnahme als die Regel. Andererseits kann man schon sagen, das AJAX & Co. das IFrame insgesamt schon etwas wiederbelebt haben.
 
Lange Rede: ich suche einfach eine Möglichkeit entweder mein iFrame zu belassen, aber dafür zu sorgen, das beim googeln eben der Besucher imer auf die ganze Webseite verwiesen wird, oder eben eine Möglichkeit ein iFrame über css und JS nachzubauen und zwar mit den Funktionen, das beim anklicken eines Themas auch immer der content wechselt.
Kurze Antwort:
Ajax/load - jQuery JavaScript Library

Längere Antwort: Der Code wird mittels Javascript nachgeladen und in den DOM Baum injeziert, dazu solltst Du allerdings entweder die jQuery.js auf dem Server liegen haben oder Dir die entsprechenden Teile aus jQuery rausziehen.

Für die Suchmaschinen kannst Du ja noch ein "Bin ich Parent oder Child?" Script einbauen, was im Falle von Child die Seite einmal komplett neu anfordert.

Meiner Meinung nach ist das für Navigationen aber stark übertrieben, das bischen Navi ist schnell geladen, wenn man sie sauber mittels validem HTML und CSS aufgebaut hat, da dann die meisten Elemente beim erneuten laden eh aus dem Cache geholt werden können. Die jQuery Bibliothek ist schwergewichtiger und z.B. der IE läd die jedesmal neu, da er Scripte nicht aus dem Cache abarbeitet...
 
Die Navigation überall mit reinzubauen ist ja auch der Normalfall :) Ich dachte nur das Konstrukt hier wäre etwas anders, insofern, dass es sich um "externe" Seiten handelt die reingeladen werden sollen. Aber dies ist wohl gar nicht der Fall.
 
Hallo QuHno,

habe ich dich richtig verstanden, also doch kein jQuery? Sauberes valides HTML und css
Nochmal: bitte ein Beispiel wie das funzt, so das es in etwa einem iFrame gleichkommt.
 
Nein, Du hast mich nicht richtig verstanden. JQuery oder nicht hängt von vielen Faktoren ab, die ich bei Deinem Projekt nicht kenne.

Bitte beschreib einmal ganz genau in einzelnen Punkten, was Du erreichen willst und gib uns eine Beispielseite.

Beispielfragen, deren Beantwortung uns weiter helfen könnte:
  • Was hast Du genau mit dem IFRAME vor?
  • Dreht es sich um Texte (oder Bilder), die man lesen (betrachten) soll, oder um etwas, was man editieren soll?
  • Warum willst Du überhaupt Inhalte dynamisch nachladen?
  • Wie ungefähr soll die Struktur der Dokumente auf dem Server aussehen?
  • Soll die Struktur vor dem Auge des Betrachters verborgen bleiben, oder soll er sie sehen?
  • ...

jQuery ist ein gigantisch großes Paket (im Webmaßstab gemessen. Immer daran denken: Es gibt immer noch ca 40% Netzbenutzer, die kein 200TBit DSL haben) und man kann es "zerlegen" sprich sich die Bestandteile herausziehen, die man haben nöchte.

Wenn das, was Du vor hast das ist, was ich vermute, wirst Du um Javascript und XML in Verbindung mit Server-seitiger Unterstützung, gemeinhin AJAX genannt, nicht herum kommen. Was ich im letzten Beitrag eigentlich sagen wollte ist: Du musst nicht den gesamten Overhead mit installieren, sondern nur den spezifischen Teil, den Du wirklich brauchst.
 
Habe ich doch schon beschrieben...
Also: es dreht sich noch nur um Texte, die im iFrame geladen werden, über verschiedene Button, die eben das entsprechende Gebiet anzeigen.
Die erste Frage verstehe ich nicht? Was ich damit vorhabe, außer das es ein Kundenwunsch ist, ist das ich dort Texte, die ich als HTML Seiten erstellt habe, da man ja nur HTML Seiten in einem iFrame laden kann, lade, einschließlich Kontakt und Impressum, dies aber SEO Probleme beim googeln ergibt.
Ich möchte nur dieses iFrame weg haben und durch css und JS ersetzen mit den gleichen Funktionen. Vlt geht's ja auch ohne jQuery ....
 
Also:
Du hast eine Seite A. Auf dieser hast ein Menü, Impressum, Kontakt. Nun willst du dynamisch Texte (B) nachladen, damitdu nicht für jeden Text eine HTML Seite mit allem drin bauen musst?

Dann speicher die Texte als .txt und lade sie via JS in einen DIV Container. Fertig. Dazu brauchst kein iFrame, theoretisch nichtmal CSS oder JS. Dazu reicht ein einfaches include() in php (wenn ich "Kunde" lese, denke ich an professionell, und wer da kein PHP hat..), mitsamt einem passenden switch. Warum machst du alles so kompliziert? Hätte ich bei so einem Auftrag auch nur an iFrames gedacht hätte ich ihn sofort an einen Kollegen verloren.

Aber wie gesagt geht auch das nachladen der Texte in ein einziges DIV mithilfe des tollen AJAX. Für den Fall dass kein php da sein sollte, was übrigens keine Barriere darstellt, wie JS es tut.

LG
 
Oben