Gå til innhold

Hvorfor liker dere ikke frames?


Anbefalte innlegg

Nevn ett tilfelle der frames er nødvendig, så skal eg ....eh... gjøre noke sinnsjukt :p

Et eksempel der frames gjør livet myyye enklere er f.eks om du har en treeview linkende meny på venstresiden og du ikke vil at denne skal kollapse når du klikker på en av nodene i menyen for å navigere.

 

Eneste måten jeg klarer å omgå frames hvis jeg bruker denne type menyer er å ha en skjult IFRAME som jeg setter src'en til ved å klikke på noden, hvor så iFramen laster html koden jeg vil skal vise på siden og deretter kopierer innerHtml propertien til et DIV tag i iFramen over til innerHtml propertien til en DIV på siden hvor menyen er ved bruk av javascript i iFramen. Men som sagt så er det litt knotete og man må holde tungen rett i munnen.

 

Konklusjonen er derfor at frames ikke er nødvendig i dette tilfellet, men alternativet er ikke noe mer festelig å tenke på. Derfor skal du slippe å gjøre noe helt sykt. :p

Går fint an å gjøre med serverside scripting, og da kommer du ut BEDRE enn med frames. Trenger meir kunnskap though..

Lenke til kommentar
Videoannonse
Annonse
fjartan: Og det gjør man ikke med frames, mener du? Og nei, PS og Word kan ikke sammenlignes da dette er to typer programmer. Prøv igjen.

ikke no problem å sammenligne de to. resultatet er det samme; om du skriver samme tekst i word og en tekst i ps, vil resultatet bli likt, men tilnærmingsmåten er forskjellig. Krever litt "matrix-thoughts" for å forstå eksempelet. Men la ikke eksempelet mitt bli off-topic for denne tråden, for de som ikke forsto det, er det greit. Var nok ikke så vesentlig, men ikke dermed sagt uriktig :D

Lenke til kommentar
jeg mener at include() og frames er to forskjellige ting.

 

Se på følgende eksempel: hva er forskjellen på å bruke photoshop og word? resultatet er det samme; de samme pixlene blir belyst på samme måte. Det er bare to tilnærmingsmåter. Hvis man reverserer eksempelet ser man at frames og include er to forskjellige ting med forskjellige egenskaper. Jeg kunne f.eks. aldri tenke meg å lage en shout-box med include og reloade hele siden hvert 20. sekund.

Og korfor skal du bruke _frames_ til dette, av alle ting?

 

Og korfor skal du refreshe kvert 20 sekund?

 

Og forskjellen på å bruke PS og Word? Tåpelig, tåpelig - evig tåpelig eksempel. Word er en "wordprocessor" - det er laga spesielt for å skrive i, og funker ypperlig til det. Det er et enkelt "ferdigsystem" for marger, topp/bunntekst, fontbruk, avsnitt osv osv...

 

Photoshop, derimot - er et gjennomført grafikkprogram. Det blir brukt til å behandle grafikk i, og er vesentlig treigare om du har tenkt å skrive stil i A4 format.

 

"Å tegne på ark, og å tegne i PS blir akkurat det samme" <= et ca. like teit utsagn

Lenke til kommentar

Hvis man klarer å løsrive seg fra den tekniske biten, og ser ned på produktet av word, exel, netscape, ps osv, er det det å presentere fargesammensetninger på en skjerm vesentlig for alle programmer. Poenget var ikke hvordan de behandler informasjon. Det du arve87 skriver om ps og grafikkprogram er dermed irrelevant for eksempelet.

Ang hvordan jeg velger å lage shout-box, jeg mente bruk av iframe, men ser at det ikke kommer frem av innlegget. Ta dette innlegget som en protest mot alle som skriver "ting er alltid teit, uansett hvordan man fremstiller og bruker det" <--- eksempelvis om lyd på websider, frames, javascript osv.

 

Jeg synes frames i høyeste grad er aktuelt, og kan ikke forstå at noen mener frames ikke duger til noen ting, særlig i forbindelse med utsagn som "veldig få bruker det riktig - derfor bør det ikke brukes" og "frames er gammel teknologi - derfor bør det ikke brukes". Hvis frames brukes riktig er det i mine øyne ingen ting i veien for å bruke det.

Lenke til kommentar
Det der er mer en mulig i PHP. :)

Hva er mer enn mulig i php (eller andre serverside språk)? Det med iFrame, som jeg sa var mulig, eller at en meny der elementene blir skjult/vist med javascript kan "huskes" av php når siden reloades (ASP.NET kan forresten klare det ved å bruke noe viewstate, men det trekker båndbredde)?

Lenke til kommentar

Går fint an å gjøre med serverside scripting, og da kommer du ut BEDRE enn med frames. Trenger meir kunnskap though..

Se mitt svar til Gimper over.

 

Som sagt så er asp.net det eneste serverside språket jeg vet som du lett kan gjøre det med. Forklar meg gjerne hvordan du fint kan gjøre det i ASP, PHP? :hmm:

Lenke til kommentar
Poenget som flere prøver å få frem er vel egentlig ikke om det er best med PHP eller ASP.NET som erstatning for frames, men at det er mulig å erstatte frames med et serverside-språk i det hele tatt.

Pr dags dato så er det kun asp.net som har metoder for å beholde et tags egenskapsverdi, f.eks. display, color, font-family, ved en page reload.

 

I eksempelet jeg kom med i begynnelse er det javascriptet i iFramen og ikke serversidescriptet som gjør at en kan klare seg uten frames. Jeg lurer fortsatt på hvordan folket her mener at asp eller php kan løse dette problemet.

Lenke til kommentar
kaffenils: Vær så snill...

 

Det lokaltog menerer ikke at det du sier nødvendigvis kan gjøres med PHP, men server-side. EOD.

EOD not!

 

Det må da være lov å spørre hvordan de som hevder at det kan gjøres generelt med serverside scripting har sett for seg at det kan gjøres. Det har bl.a. vært nevnt php, og da er jeg bare nysgjerring på hvordan dette kan gjøres med php (eller asp for den sags skyld). Når folk slenger ut en påstand uten å underbygge den pleier jeg å be om argumenter.

Jeg har sagt at det lar seg gjøre med asp.net, men som flere har nevnt så kan det også gjøres med php. "Hvordan?" spør jeg da. Det er ingen grunn til at du skal leke MOD og EOD'e diskusjonen av den grunn.

Lenke til kommentar
Mulig jeg var litt for rask her, men etter det jeg har lest på net er ASP.net server-side? lokaltog har ikke påstått at det du nevner kan gjøres med PHP?

asp.net er et serverside språk som du sier. :yes:

 

Lokaltog har ikke selv påstått at php kan løse det jeg beskriver, men han sier seg enig i at php kan erstatte frames i eksempelet jeg viser til.

 

Jeg påstår derimot at du enten må bruke asp.net eller klientside javascript. Verken php eller asp kan løse problemet, og løsningen med javascript er ikke avhenging av noe form for serverside språk. En kan fint bruke statiske htmlfiler for å løse det.

 

Men hvis andre har en løsning som krever asp eller php så lurer jeg bare på hva den går ut på :hmm:

 

Bare for ordens skyld, jeg spør ikke om dette for å kverulere hvis noe skulle tro det. :)

 

Lokaltog skriver:

Poenget som flere prøver å få frem er vel egentlig ikke om det er best med PHP eller ASP.NET som erstatning for frames, men at det er mulig å erstatte frames med et serverside-språk i det hele tatt.

Lenke til kommentar
Mulig jeg var litt for rask her, men etter det jeg har lest på net er ASP.net server-side? lokaltog har ikke påstått at det du nevner kan gjøres med PHP?

asp.net er et serverside språk som du sier. :yes:

 

Lokaltog har ikke selv påstått at php kan løse det jeg beskriver, men han sier seg enig i at php kan erstatte frames i eksempelet jeg viser til.

 

Jeg påstår derimot at du enten må bruke asp.net eller klientside javascript. Verken php eller asp kan løse problemet, og løsningen med javascript er ikke avhenging av noe form for serverside språk. En kan fint bruke statiske htmlfiler for å løse det.

 

Men hvis andre har en løsning som krever asp eller php så lurer jeg bare på hva den går ut på :hmm:

 

Bare for ordens skyld, jeg spør ikke om dette for å kverulere hvis noe skulle tro det. :)

 

Lokaltog skriver:

Poenget som flere prøver å få frem er vel egentlig ikke om det er best med PHP eller ASP.NET som erstatning for frames, men at det er mulig å erstatte frames med et serverside-språk i det hele tatt.

Hadde litt vanskeligheter for å forstå problemet.

 

Men.

Klart du kan beholde "property'en" til et element med php, men nei, det er ingen innebygd funksjon for det, du må lage en selv, men går helt fint det.

 

Problemet du mener ikke kan løses med php(eller andre serverside språk) er det å lage en tre-meny som kan utvides og inskrenkes og huske hva som var inskrenket og hva som var utvidet så er jo ikke det noe problem heller.

 

Det eneste serverside ikke kan gjøre som frames gjør er og la deg oppdatere bare en del av siden uten og oppdatere hele, bare oppdatere en frame.

 

Klart noe vil være mere komplisert med et serverside språk, men du får også en fleksibilitet og utvidelses mulighet med på kjøpet.

Lenke til kommentar

Det finnes kun en plass det er kjekt med frames; det er når du linker

til eksterne sider fra ditt nettsted. Da går det f.eks å kjøre den eksterne

siden i en fram, bare slik at du har noe fra din egen side igjen...

F.eks slik som Altavista gjør det på bildesøk.

Dette bruket ødelegger heller ikkje struktur på ditt eget nettsted,

dog søkemotorer vil ha problem med å indeksere dine eksterne

linker...

 

Ellers finnes det ingen grunn til å bruke frames, absolutt ingen, har gjort

drøssevis av webprosjekt og har ikkje rørt frames siden i 1999.

Savner eg det, nei... Alt kan løses på bedre måter.

Lenke til kommentar
Problemet du mener ikke kan løses med php(eller andre serverside språk) er det å lage en tre-meny som kan utvides og inskrenkes og huske hva som var inskrenket og hva som var utvidet så er jo ikke det noe problem heller.

Den eneste løsningen jeg kommer på må være f.eks. å ha en skjult textbox som inneholder en streng hvor hvert tegn representerer om tremenyens node er skjult eller ikke, og når en ekspanderer/kollapser en node så må en ved hjelp av javascript sette 0 eller 1 på riktig posisjon i strengen.

Denne strengen må sendes med til serveren hver gang siden postes, og det betyr at textboxen må ligge i formen som postes. En får derfor problemer hvis en har mer et et form på siden samtidig.

Et annet problem jeg ser er ved klikk på hyperlinker. Strengen postes da ikke til serveren. Eneste måten jeg ser at en kan løse det er å bruke onClick på hyperlinkene og dermed la javascript poste strengen med til den nye siden.

 

Uff, her blir det mye å tenke på :hmm:

 

 

HVordan hadde du tenkt at det kunne gjøres?

Lenke til kommentar

Ganske greit.

 

Om du har en grei filstruktur med tanke på noder i menyen, eller menyen lagret i en database.

Da kan du basere deg ut fra url (index.php/stuff.php eller index.php?side=stuff) og dermed vite hva som skal være ekspandert og hva som ikke skal være det.

 

Du trenger slettes ikke å bruke noe javascript, javascript må aldri brukes til noe som helst som er av en kritisk art for siden da rundt om 10% av surferne enten har javascript avslått eller bruker en leser uten javascript støtte.

Det er jo bare en knapp for å skru av javascript.

Lenke til kommentar
Ganske greit.

 

Om du har en grei filstruktur med tanke på noder i menyen, eller menyen lagret i en database.

Da kan du basere deg ut fra url (index.php/stuff.php eller index.php?side=stuff) og dermed vite hva som skal være ekspandert og hva som ikke skal være det.

 

Du trenger slettes ikke å bruke noe javascript, javascript må aldri brukes til noe som helst som er av en kritisk art for siden da rundt om 10% av surferne enten har javascript avslått eller bruker en leser uten javascript støtte.

Det er jo bare en knapp for å skru av javascript.

Her er et eksempel som bruker metoden jeg har beskrevet: Eksempel. Hvis jeg har ekspandert flere noder i mange nivåer så ønsker jeg å beholde disse åpne når siden lastes på nytt ved en post. Du kan klare det uten frames, men da er javascript nødvendig.

 

Det er ikke side(katalog)strukturen på serveren jeg ønsker i tre-menyen, slik du har beskrevet.

Lenke til kommentar
Her er et eksempel som bruker metoden jeg har beskrevet: Eksempel. Hvis jeg har ekspandert flere noder i mange nivåer så ønsker jeg å beholde disse åpne når siden lastes på nytt ved en post. Du kan klare det uten frames, men da er javascript nødvendig.

 

Går sikkert an å få serveren til å "huske" dette for deg, ved hjelp av litt cookies elns.. Er ingen mester på serverside, men veit sånn ca ka som går an og ka som ikkje er mulig ;)

 

og eg gjentar meg sjøl:

 

Alt som går an med frames, kan løysast på bedre måter.

Endret av arve87
Lenke til kommentar
Her er et eksempel som bruker metoden jeg har beskrevet: Eksempel. Hvis jeg har ekspandert flere noder i mange nivåer så ønsker jeg å beholde disse åpne når siden lastes på nytt ved en post. Du kan klare det uten frames, men da er javascript nødvendig.

 

Går sikkert an å få serveren til å "huske" dette for deg, ved hjelp av litt cookies elns.. Er ingen mester på serverside, men veit sånn ca ka som går an og ka som ikkje er mulig ;)

Man trenger ikke engang å bruke cookies. PHPs session-funksjoner gjør jobben.

Lenke til kommentar

Man trenger ikke engang å bruke cookies. PHPs session-funksjoner gjør jobben.

En session holder bare rede på serverside variabler, og vet ikke noe om hva som skjer på klientens side. Hvordan vet en session på serveren hva et eventuelt javascript har gjort på websidens DOM?

 

Hvordan kan en da bruke en server session til å holde rede på hvordan en tremeny så ut ved en post, og klare å tegne denne opp riktig når neste side lastes?

 

Det blir litt useriøst når den ene etter den andre slenger ut påstander om at "php løser det", "cookies løser det" og nå sist "serverside sessions løser det". Begrunn påstnadene deres og forklar hvordan en kan løse det ved å bruke cookies eller session eller hva det nå skal være.

 

En ting til. Jeg er ikke tilhenger av frames hvis det er det dere tror. ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...