PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : War die Frametechnik nicht doch besser?


WhiteVelvet
2007-10-01, 09:38:41
Jetzt wo ich kurz vor der Fertigstellung meiner ersten Layer-basierten (Table-bassierten) Website bin, stelle ich doch 2 kleine Nachteile gegenüber der Frametechnik fest:

1. Eine Tabellenzelle X wird gescrollt, irgendwo ganz unten ist ein Link. Klicke ich auf diesen, dann lädt er die gesamte Seite neu, die Zelle setzt er natürlich wieder nach ganz oben so dass der Link wieder erscrollt werden muss. Gibts da einen Trick für? Muss man da mit Ankern arbeiten?

2. Der Kopf-Layer hat eine Flash-Animation, die mit jedem Klick neugeladen wird und dann natürlich jedesmal von vorne anfängt. Dafür gibts wohl keine Lösung schätz ich...

Mit Frames war das einfacher und eleganter hmmm... jetzt ist alles in einer HTML-Seite, die mit jedem Klick ihre Darstellung von vorne anzeigt.

Meinungen?

Scream
2007-10-01, 10:07:43
man könnte mit php arbeiten und nur den neuen inhalt "includen"
man müsste sich nicht mal gut auskennen in php nur etwas einlesen

Sk4tz
2007-10-01, 10:11:43
jap frame technik war und ist besser... klar es ist reinste handarbeit aber nuja, investiert man die zeit nicht gern?
einzigste negative punkt in meinen augen ist das eine seite mit frames kein tabbed browsing unterstützt aber nuja... wayne ;)

WhiteVelvet
2007-10-01, 10:41:53
man könnte mit php arbeiten und nur den neuen inhalt "includen"
man müsste sich nicht mal gut auskennen in php nur etwas einlesen

Was glaubst Du mit was ich das programmiert habe ;) Die Schwachstellen sind nicht der Code, sondern meine oben genannten Probleme mit der ständigen Reinitialisierung des kompletten Seiteninhalts nach einem Klick irgendwodrauf.

Scream
2007-10-01, 10:48:36
ups sorry dann habe ich den text oben wohl irgendwie falsch gelesen ;)

du könntest den inhalt per ajax reinladen lassen z.b.

WhiteVelvet
2007-10-01, 10:53:18
Damit hab ich noch gar nicht gearbeitet... ist halt nun die Frage, was ich nun mache, setz ich die Website ins Frame-Format zurück (was wohl schneller gehen wird) oder nehm ich Ajax hinzu... hmmmm... überhaupt meckert der Kumpel (für den ich die Seite mache) jetzt, dass nach jedem Klick die gesamte Seite kurz verschwindet und wieder erscheint (was mit Frames auch nicht passieren würde).

rotalever
2007-10-01, 10:56:24
Damit hab ich noch gar nicht gearbeitet... ist halt nun die Frage, was ich nun mache, setz ich die Website ins Frame-Format zurück (was wohl schneller gehen wird) oder nehm ich Ajax hinzu... hmmmm... überhaupt meckert der Kumpel (für den ich die Seite mache) jetzt, dass nach jedem Klick die gesamte Seite kurz verschwindet und wieder erscheint (was mit Frames auch nicht passieren würde).
Dann müsste er sich aber über 95% der I-net seiten beschweren...

Scream
2007-10-01, 10:59:54
naja wenn er mit frames leben kann dann kannst du das ja machen, ist sicher weniger arbeit für dich

ich habe auch mit frames angefangen, bin zu normalen html seiten gekommen, dann zum tabellendesing und mittlerweile mache ich mein layout ausschließlich über divs (was ich auch mit abstand am besten finde, auch wenns mehr arbeit und ein ziemliches gefummle ist)

und frames sind einfach out bzw. haben zuviele nachteile finde ich

P.S. das mit dem link in der tabelle verstehe ich sowieso nicht wirklich
wenn er auf ne neue page verlinkt ist es doch gut dass die page wieder von oben angezeigt wird
und wenn nicht, z.b. in einem menü warum passt du die tabelle nicht an die seitenhöhe an?

WhiteVelvet
2007-10-01, 11:49:46
Einfaches Beispiel: In der linken Zelle sind 20 Links, rechts in der Zelle ist jeweils eine Detailansicht dazu, dann soll laut Kumpel links der Link farblich hinterlegt werden, damit man sieht, dass die Details rechts zum Link links dazugehören. Wie gesagt, scrollt er aber nach dem Klick wieder hoch und man sieht den angeklickten Link nicht. Schwer zu erklären, aber egal...

darph
2007-10-01, 11:50:48
Frames sind heute als veraltet eingestuft, und das aus gutem Grund: Die Navigation ist für den Benutzer eine Katastrophe, weil sie kaum nachzuvollziehen ist. Will man zurück, verhaspelt man sich zwangsläufig in der beinahe willkürlichen Änderung der einzelnen Frames. Dann kommen die Autoren auf die tolle Idee, man müsse ja das Navigationsmenü ändern und gleichzeitig die Inhaltsseite. Also werden JavaScript-Links eingebaut, weil es ja anders nicht geht: Die Rückwärtsnavigation wird hiermit komplett ausgehebelt und die generelle Verwendbarkeit der Website über verschiedene Plattformen hinweg schlicht erdolcht (schonmal versucht, eine Website mit Frames auf einem PocketPC-Browser anzuschauen?). Dabei sollte es doch mal genau das sein, was das Tolle an Websites ist: Daß sie weitestgehend plattformunabhängig sind.

Deine Probleme sind ja auch keine: Variable Inhalte lassen sich per php includes oder Server Side Includes (http://de.wikipedia.org/wiki/Server_Side_Includes) sehr leicht nachbilden, dafür braucht es keine Frames. Das freut dann im Übrigen auch die Suchmaschinen. ;)

Wenn du es wirklich (!!!) brauchst, daß der Besucher zu einer bestimmten Stelle im Dokument gescrollt werden soll, wenn es dafür einen guten und nachvollziehbaren Grund gibt: Dann nimm anchors, das ist kein großer Aufwand.

Und was Flash angeht: Nunja, dank Werbeseuche hat Flash mittlerweile keinen guten Ruf mehr. Es gibt Applikationen, bei denen Flash durchaus sinnvoll ist: Flashanimationen, die Videowiedergabe wie bei YouTube, etc. pp. Aber hier wird Flash eingesetzt, um der Seite einen Mehrwert zu geben: Um Funktionalität bereitzustellen, die es sonst nicht gibt/geben kann. In den meisten Fällen ist es aber lediglich Eyecandy und bietet der Seite keine Mehrwert. Brauchst du wirklich ein Flashbanner, um die Informationen deiner Seite rüberzubringen? Was ist mit all denen, die Flash blocken und es nur aktivieren, wenn sie es wirklich brauchen? Für die bricht das Design deiner Seite sofort. Brauchst du das Flashbanner, oder ist die Seite nicht genauso gut ohne dran?

darph
2007-10-01, 11:52:16
Einfaches Beispiel: In der linken Zelle sind 20 Links, rechts in der Zelle ist jeweils eine Detailansicht dazu, dann soll laut Kumpel links der Link farblich hinterlegt werden, damit man sieht, dass die Details rechts zum Link links dazugehören. Wie gesagt, scrollt er aber nach dem Klick wieder hoch und man sieht den angeklickten Link nicht. Schwer zu erklären, aber egal...
Meinst du, daß der Link, der den Clickfocus hat, hervorgehoben sein soll? Das Verschwindet, sobald der User irgendwohin klickt. Da helfen auch keine Frames.

WhiteVelvet
2007-10-01, 12:00:59
Ne, so meine ich das nicht. Nach dem Neuladen weiß der Link links dass er angewählt wurde und bekommt einen anderen Hintergrund. Man sieht ihm also an, dass er für den Inhalt rechts verantwortlich ist.

Ist egal, ich würde ja gerne die betreffende Seite zeigen, aber dazu hab ich keine Freigabe ;)

darph
2007-10-01, 12:12:48
Schnipsel halt das Stück (Markup-)Code aus und bau ein wenig Dummy-Inhalt rein.

WhiteVelvet
2007-10-01, 15:38:32
Ich verlinke die Website nun mal, ist aber noch in der Testphase (95% fertig), also noch einige Dinge offen / noch nicht erledigt.

http://www.jawzdance.de/madtrixxx/table.php?page=home

Mein obiger Punkt 1) ist unter "Künstler" zu finden, wenn man den letzten Künstler anwählt. Punkt 2) sollte man sofort sehen.

Ich füge trotzdem mal einen Punkt 3) hinzu:

Die Website verschwindet wirklich kurz und taucht wieder auf, bei jedem Klick. Mit dem IE7 macht sie es ständig und sehr deutlich, mit dem Firefox kaum bis gar nicht, aber auch teilweise sichtbar.

Scream
2007-10-01, 15:41:00
du könntest den ausgewählten künstler einfach dann als erstens anzeigen lassen

WhiteVelvet
2007-10-01, 15:56:56
Dann ändert sich ja die Reihenfolge links wieder, glaube nicht, dass mein Kumpel das so haben möchte ;)

Scream
2007-10-01, 17:36:51
naja irgendwo muss er nachgeben ;)

DanMan
2007-10-01, 19:53:51
Für das was du willst brauchst du entweder Frames oder Ajax. Vielleicht ginge es auch mit iframes, aber eher nicht.

Du musst übrigens nicht alle IEs einzeln ansprechen. Ein
if IE
tuts auch. Außerdem sind die inline-CSS Regeln ja wohl hoffentlich nur temporär, sonst kann der Browser die ja garnicht im Cache speichern -> längere Ladezeiten.

WhiteVelvet
2007-10-01, 21:16:16
Außerdem sind die inline-CSS Regeln ja wohl hoffentlich nur temporär, sonst kann der Browser die ja garnicht im Cache speichern -> längere Ladezeiten.

Was genau meinst Du, ich lerne ja gerne dazu :)

Werds dann wohl doch wieder auf Frames umstrukturieren...

DanMan
2007-10-01, 21:55:05
Was genau meinst Du, ich lerne ja gerne dazu :)
Alles was mit "style=" anfängt.

WhiteVelvet
2007-10-02, 08:27:57
Was nimmt man denn da besser statt "style"? class?

gr@fz@hL
2007-10-02, 09:12:50
Was nimmt man denn da besser statt "style"? class?
Genau, und die Styleinformation werden in einem externen CSS-Dokument ausgelagert.

Zumindest glaube ich, dass DanMan das meint ;).

DanMan
2007-10-02, 14:13:41
Was nimmt man denn da besser statt "style"? class?
Öhm, die Frage verblüfft mich jetzt sehr. Du hast doch bereits 2 Stylesheets verknüpft:
<link rel="stylesheet" type="text/css" href="css/madtrixx.css">
<link rel="stylesheet" type="text/css" href="css/flexcrollstyles.css">
Genau DA gehört auch alles andere CSS, wie z.B:
style="width:346px;height:314px;outline: none; overflow:auto;"
...rein aus bereits genanntem Grund. Das nennt man in Fachkreisen "inline CSS", weil es in der HTML Datei im jeweiligen Tag steht. Ist für Kleinigkeiten ok, aber nicht im großen Stil wie auf deiner Seite.

Kann es sein, dass du das Prinzip von CSS noch nicht ganz begriffen hast? Denn auf das deutet deine Frage, was man da sonst nehmen soll, hin. Die Kaskade (http://de.selfhtml.org/css/formate/kaskade.htm) eben - oder anders ausgedrückt, die CSS Selektoren. Man muss nicht allem und jedem eine Klasse oder ID geben, wenn man sich mit Selektoren (http://de.selfhtml.org/css/formate/zentrale.htm) auskennt.

WhiteVelvet
2007-10-04, 08:30:27
Achsooo meinst Du das ;) War gerade irgendwie in eine andere Richtung unterwegs... bin ja wie oben schon geschrieben noch nicht ganz fertig. Jetzt kurz vorm Ende möchte ich etwas schneller fertig werden und die Motivation geht flöten, daher wirkt gerade alles etwas durcheinander.

LordZed
2007-10-04, 13:03:30
Für deine Probleme gibt es eigentlich schon ne Lösung, die sich da AJAX nennt. Durch AJAX ist es möglich, dass du keine Frames benutzt, der Browser aber dennoch nur den Teil der Website neu läd, der neu geladen werden muss. Dafür wird eine Kombination aus JavaScript und einer serverseitigen Sprache verwendet.
Als Beispiel: Du hast links nen Menü, oben nen Banner (Flashbanner wie du meinst, der nicht jedesmal von vorne beginnen soll) und drunter den Inhalt. Klickst du im Menü auf nen Link, so startet JS im Hintergrund eine anfrage an den Server und aktualisiert dann on the fly den Content-Bereich der Website. Google einfach mal nach AJAX :)
Ich weiß jetzt nicht, wie gut deine Programmierkentnisse sind, aber vllt. kommst ja damit zurecht :)

DanMan
2007-10-04, 14:30:51
Für deine Probleme gibt es eigentlich schon ne Lösung, die sich da AJAX nennt...
Für dich hab ich auch was, das nennt sich lesen. Solltest du auch mal probieren, das ist voll :uup:

LordZed
2007-10-04, 22:36:10
Für dich hab ich auch was, das nennt sich lesen. Solltest du auch mal probieren, das ist voll :uup:

Ich hab gelesen...! Nur die 2-3 entscheidenden Posts anscheinend nicht ^^

WhiteVelvet
2007-10-05, 08:28:54
Danke, ich werd mir Ajax mal aneignen, wie man sieht wollte ich ja endlich mal von Frames auf div/layer gehen, aber schon kommen die Probleme... Ajax klingt sauber ;)

][immy
2007-10-05, 18:12:00
Danke, ich werd mir Ajax mal aneignen, wie man sieht wollte ich ja endlich mal von Frames auf div/layer gehen, aber schon kommen die Probleme... Ajax klingt sauber ;)

*hust*
bei ajax machst du genau das mit den Div-layern ;)
es heißt ja schlielich nur "Asynchronous JavaScript and XML". Sprich du hast z.B. einen Webservice im Hintergrund, den du per javascript immer ansprichst, XML zurückgeliefert bekommst und es dann garantiert in irgendwelche Divs packst um es darzustellen.
natürlich könntest du auch einfach per javascript die HTML-Dateien einlesen und darstellen


AJAX ist schon ne nette sache, aber ansich nichts neues. browserunabhängig ist das ganze leider nach wie vor nicht, weil man z.B. für die HttpRequests immernoch für jeden browser ein anderen Objekt erstellen muss

medi
2007-10-06, 09:00:48
und ohne aktiviertem JS geht deine seite dann gar nicht mehr ;)


hat eigentlich jemand hier ne statistik an hand wieviele user ohne JS im inet unterwegs sind?

DanMan
2007-10-06, 13:02:27
hat eigentlich jemand hier ne statistik an hand wieviele user ohne JS im inet unterwegs sind?
Naja, prinzipiell sind eigentlich alle mit JS unterwegs, da alle Browser das von Haus aus mitbringen - im Gegensatz zu Flash. Und ich glaube auch nicht, dass allzuviele Leute JS ausschalten. Einen wirklichen Grund gibt es dafür ja auch nicht, wenn man nicht gerade den IE <=6 benutzt.

Die große Mehrheit hat es deswegen wohl auch angeschaltet: http://www.w3schools.com/browsers/browsers_stats.asp

Mr.Soapdown
2007-10-10, 10:46:56
Ich hab mal eine frage zu iframe.

Mein Wunsch wäre es in einem iframe eine hp anzeigenzulassen, soweit so gut. Die hp ist natürlich breiter als das frame. Kann ich nicht in dem frame die hp auf 80% anzeigen lassen? Gibt es da einen code für?

rotalever
2007-10-10, 14:47:50
Ich hab mal eine frage zu iframe.

Mein Wunsch wäre es in einem iframe eine hp anzeigenzulassen, soweit so gut. Die hp ist natürlich breiter als das frame. Kann ich nicht in dem frame die hp auf 80% anzeigen lassen? Gibt es da einen code für?
Du meinst skalieren? Das ist leider nicht überall (vernünftig) möglich. Darf man aber erfahren, was der Grund ist, warum Du eine (fremde) Homepage mit einem Iframe einbinden willst?

Mr.Soapdown
2007-10-10, 20:55:10
Es ist nicht eine fremde, es ist meine hp, die in der sig. www.oldmansclub.de
Die soll bei einen login in ein game als begrüßung angezeigt werden. Bisher habe ich nur ein normals jpg in html, es geht aber auch die hp anzeigen zu lassen. Das würde jetzt schon funktionieren, aber das Skalieren fehlt einfach.

mfg

edit: Ich bin platinum, lol - ist ja wie ein geburtstag.
sry, aber das musst eich noch anhängen......

medi
2007-10-11, 06:38:11
Ich hab mal eine frage zu iframe.

Mein Wunsch wäre es in einem iframe eine hp anzeigenzulassen, soweit so gut. Die hp ist natürlich breiter als das frame. Kann ich nicht in dem frame die hp auf 80% anzeigen lassen? Gibt es da einen code für?

statt iframe (veraltet) lieber objects nehmen

beispiel:


<object data="url" type="text/html" width="100%" height="150" style="border:0px">
Ihr Browser kann das Objekt leider nicht anzeigen!
</object>

Mr.Soapdown
2007-10-11, 10:37:58
Danke werde das ausprobieren.

rotalever
2007-10-11, 15:32:10
statt iframe (veraltet) lieber objects nehmen

Kann doch aber auch nicht skalieren, oder?

medi
2007-10-11, 16:19:55
hey frag mich...hat mir meine kleine nur mal gesagt, dass iframes out sind und man heutzutage die technik da nutzen soll...was du nun kann oder nicht kann musste mr. google fragen :D

Mr.Soapdown
2007-10-12, 22:04:12
funzt nicht - skaliert nicht....

Matrix316
2007-11-07, 21:19:43
Anstatt Frames kann man auch ASP.NET mit Masterpages nutzen. Gibt eine Masterpage und mehrere Contentpages die sich von der Master ableiten.

Und damit nicht immer die ganze Seite neu aufgebaut werden muss, gibts halt Ajax (auch für ASP.NET).