Avatar billede morild Nybegynder
28. oktober 2005 - 10:48 Der er 17 kommentarer og
1 løsning

Load frames hvis der linkes direkte til underside?

Mit spørgsmål går på om der er en mulighed for at lave et check på om mine frames er loaded?

F.x. : if parent.leftFrame.location=null then reload index.htm

Jeg har både top frame, left frame og main frame på min side.

Det jeg ønsker er at lave et check om frames er vist, og hvis ikke skal siden opdateres med frames og selvfølgelig den ønskede side i mainFrame.
Avatar billede roenving Novice
28. oktober 2005 - 10:54 #1
Hvordan opstår situationen ?-)
Avatar billede fennec Nybegynder
28. oktober 2005 - 11:00 #2
roenving >>
Lyder som din framing demo...

http://roenving.users.whitehat.dk/
Avatar billede roenving Novice
28. oktober 2005 - 11:03 #3
Det tænkte jeg også, da jeg så overskriften, men så er spørgsmåls-teksten jo ikke lige indlysende !-)
Avatar billede fennec Nybegynder
28. oktober 2005 - 11:13 #4
Jeg synes nu det passer meget godt sammen :o)
Men nu skal jeg nok smutte. Din demo = dine point (hvis det da er det ?'et går ud på)
.o) <-- One Eyed Jack
Avatar billede morild Nybegynder
28. oktober 2005 - 11:31 #5
Ja,det ligner din side - den jeg laver altså. En top og left frame og indhold i Main.

Mit problem er at når jeg sender et "tip" om en given side, så er det et direkte link til en underside på hjemmesiden (www.minside.dk/produkter/produkt1.htm)

Når man så åbner dette link kommer frames jo ikke med. Jeg kunne godt tænke mig at vise frames i alle tilfælde. Jeg synes at have hørt om en mulighed for dette, måske i javascript? Ved ikke?
Avatar billede roenving Novice
28. oktober 2005 - 11:34 #6
Prøv f.eks. http://roenving.users.whitehat.dk/WD5Opacity.html

Bemærk ændringen i adresselinjen, og se kode/forklaring ved at klikke på teksten nede til venstre om framing ?-)
Avatar billede morild Nybegynder
28. oktober 2005 - 11:40 #7
(0,top.location.href.indexOf(".dk/")+3)+"/index.html?"+escape(location.pathname))}
</script>

Skal "3" udskiftes med 0? Eller helt slettes?
Avatar billede morild Nybegynder
28. oktober 2005 - 11:42 #8
Kan det hele ligges i en separat fil og så bruges "INCLUDE" isf?
Avatar billede roenving Novice
28. oktober 2005 - 11:45 #9
Det kommer an på, hvordan dine undersider ser ud i forhold til dine over sider !-)

Hvis din hovedside (framesettet !-) f.eks. hedder www.minside.dk/index.htm og den aktuelle underside www.minside.dk/produkter/produkt1.htm, skal du bare bruge den direkte !o]

-- hvis siderne ligger i forskellige mapper, eller der er en længere sti, skal det laves anderledes ...
Avatar billede morild Nybegynder
28. oktober 2005 - 11:52 #10
Jeg vil prøve det en gang og se om jeg kan få det til at virke. Jeg forstår ikke helt din sidste bemærkning : "hvis siderne ligger i forskellige mapper, eller der er en længere sti, skal det laves anderledes"

Mine sider ligger jo som mange forskellige subdirs e.x. /produkter/test/produkt1.php, /brochurer/test2/bruchurer.php, prislister/index.php osv.

Det vil i alle tilfælde altid være index.htm der holder framesettet.

Vil det give mig problemer?
Avatar billede johan.o Nybegynder
28. oktober 2005 - 13:38 #11
'(0,top.location.href.indexOf(".dk/")+3)+"/index.html?"+escape(location.pathname))}
</script>

Skal "3" udskiftes med 0? Eller helt slettes?'

Nej. Forestil dig at url'en er : http://www.morild.dk/test.htm

Så levere indexOf(".dk/") værdien 18 fordi '.dk/' starter på plads 18 i tekststrengen. Men den position du skal bruge, når du via substr skal udlede domæne navnet er jo 3 længere til højre, altså på plads 21. Derfor lægges der 3 til. Hvis nu f.eks. at dit domæne hed morild.com, skulle indexOf hedde ('.com/') og 3 skulle ændres til 4. Grunden til denne lidt omstændige metode er jo fordi indexOf('/') ville leverer værdien 6 for der står den første /.

Håber ikke roenving ser det som utidig indblanding......og håber for den sags skyld også jeg har ret :)

Det er i det hele taget ret smart tænkt, især er jeg glad for at stifte bekendtskab med location objektet det har jeg ikke set før.

Mvh. Johan
Avatar billede johan.o Nybegynder
28. oktober 2005 - 13:39 #12
Arh og dog location har jeg brugt men location.search er ny :)
Avatar billede morild Nybegynder
28. oktober 2005 - 14:15 #13
Mange tak for hjælpen, og god karma til dig johan.o! ;o)
Avatar billede morild Nybegynder
31. oktober 2005 - 11:28 #14
Der kom lit problemer da jeg testede det af, her en min kode:

<script language="javascript" type="text/javascript">
  function loadSource(){
  if (location.search!=""){
    src=unescape(location.search.substring(1));
    top.frames['mainFrame'].location.href=src;
  }}
</script>
</head>

<frameset rows="88,*" cols="*" frameborder="no" border="2" framespacing="1">
  <frame src="/topsc.php" name="topFrame" scrolling="NO" noresize >
  <frameset rows="*" cols="160,*" framespacing="0" frameborder="NO" border="0">
    <frame src="/produkter/venstre.htm" name="leftFrame">
    <frame src="produktindex.htm" name="mainFrame" frameborder="yes" bordercolor="#FFFFFF">
  </frameset>
</frameset>
<noframes>
</noframes>
<body onload="loadSource()";>
</body>

--------------
Skal onload linien flyttes, eller hvorfor viser den smamme startside hvergang? Frames kommer frem og korrekt adresse linie også, men mainFrame er standard siden!
Avatar billede johan.o Nybegynder
31. oktober 2005 - 12:25 #15
Hm, står der et ? med efterfølgende 'link' øverst i din browser ?

Mvh. Johan
Avatar billede morild Nybegynder
31. oktober 2005 - 12:29 #16
Jeps!
Avatar billede johan.o Nybegynder
31. oktober 2005 - 12:32 #17
Ah, mon ikke du skal sætte din onload event op i det første frameset og så slette <body> og </body> tag'sne ?

<frameset rows="88,*" cols="*" frameborder="no" border="2" framespacing="1" onload="loadSource();">

Mvh. Johan
Avatar billede morild Nybegynder
31. oktober 2005 - 12:54 #18
Tak! Det var lige hvad der skulle til!

Nu skal alle sider så lige rettes til.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester