Avatar billede breum Nybegynder
02. maj 2003 - 13:11 Der er 13 kommentarer og
1 løsning

Hop ind i frameset

Hej JS-eksperter

En ven har et stort problem som jeg gerne vil løse for ham!

Han har en hjemmeside med 180 indholdssider, desværre er disse en del af et frameset, derfor når man finder en af hans sider via f.eks google kommer man til en side uden links til hovedside eller andet.

Jeg søger derfor et script, der "Mærker" om det er i en frame, og ellers starter framesættet.

Altså når man beder om www.domain.dk/side1.htm skal side1.htm mærke at den ikke er i framesæt, og starte et framesæt op, med f.eks navbar.htm i en frame og side1.htm i en anden. Er dette forståeligt?

breum
Avatar billede breum Nybegynder
02. maj 2003 - 13:14 #1
Framesættet på hovedsiden ser således ud:


<frameset framespacing="0" border="false" frameborder="0" rows="101,*">
  <frame name="banner" scrolling="no" noresize target="contents" src="header.htm">
  <frameset cols="212,*">
    <frame name="contents" target="main" src="navbar.htm" scrolling="auto" marginwidth="6">
    <frame name="main" src="side1.htm" scrolling="auto">
  </frameset>
  <noframes>
  <body>
  <p>This page uses frames, but your browser doesn't support them.</p>
  </body>
  </noframes>
</frameset>
Avatar billede swaxi Nybegynder
02. maj 2003 - 13:26 #2
Avatar billede hcichosz Praktikant
02. maj 2003 - 13:29 #3
Hej
jeg vil tro sådan her
skal være i head på alle under sider

<script type="text/javascript">
if(top.location==self.location){
top.location.href="http://www.ditdomane.dk/"
}
</script>
udskift www.ditdomane.dk med hans domane
mvh H Cichosz
Avatar billede breum Nybegynder
02. maj 2003 - 13:45 #4
hcichosz>> Men så kommer brugeren vel til hovedsiden, vi vil ikke tvinge brugeren til at gå til hovedsiden, kun til at hente framesætttet, siden skal selv være en del af framesættet, som anført ovenfor.

swaxi>>Kigger på det, men det ser kompliceret ud, jeg havde håbet blot at få den færdige kode.
Avatar billede swaxi Nybegynder
02. maj 2003 - 14:01 #5
hvis du smider det her ind på hovedsiden :
[snip]
<script type="text/javascript">
var query = (location.href.indexOf("?")+1);
var page = 'intro.html'
if (query)
{
    page = location.href.substring(query);
}

/*
Write out the frameset with 'page' in the content frame
*/

document.write('<frameset framespacing="0" border="false" frameborder="0" rows="101,*">');
document.write('<frame name="banner" scrolling="no" noresize target="contents" src="header.htm">');
document.write('<frameset cols="212,*">');
document.write('<frame name="contents" target="main" src="navbar.htm" scrolling="auto" marginwidth="6">');
document.write('<frame name="main" src="side1.htm" scrolling="auto">');
document.write('</frameset>');
document.write('</frameset>');
</script>

[/snip]

og så iøvrigt smider følgende ind på hver underside, skulle det vist virke :
[snip]
<script type="text/javascript">
if(top.location==self.location){
top.location.href="http://www.ditdomane.dk/?sidenavn.html"
}
</script>

[/snip]
Avatar billede breum Nybegynder
02. maj 2003 - 14:24 #6
Der er vist en fejl

Den viser altid side1.htm

http://www.marietta.dk/?side2.htm
Avatar billede hcichosz Praktikant
02. maj 2003 - 14:43 #7
mangler du ikke det her på dine under sider

<script type="text/javascript">
if(top.location==self.location){
top.location.href="http://www.ditdomane.dk/?sidenavn.html"
}
</script>
Avatar billede swaxi Nybegynder
02. maj 2003 - 15:57 #8
prøv erstatte :
    var page = 'intro.html'
med :
    var page = 'side1.htm'
og :
    document.write('<frame name="main" src="side1.htm" scrolling="auto">');
med :
    document.write('<frame name="main" src="'+page+'" scrolling="auto">');
Avatar billede breum Nybegynder
03. maj 2003 - 11:04 #9
Tak swaxi, med den sidste ændring virker det
Avatar billede breum Nybegynder
03. maj 2003 - 11:07 #10
Hvor på siden skal det stå?
Head/Body????
Avatar billede breum Nybegynder
03. maj 2003 - 11:08 #11
På undersiderne menere jeg, for på hovesiden skal det naturligvis stå i body i stedet for det nuværende frameset.
Avatar billede breum Nybegynder
03. maj 2003 - 11:10 #12
Og virker det i "Alle" Browsere
Avatar billede swaxi Nybegynder
03. maj 2003 - 11:37 #13
<script type="text/javascript">
if(top.location==self.location){
top.location.href="http://www.ditdomane.dk/?sidenavn.html"
}
</script>

bør du principielt placere i dit head-tag
alternativt kan du lave en funktion og kalde den i body-tagets onload event.

>> Og virker det i "Alle" Browsere
nej, hvis folk har slået javascript fra gør det ikke. derudover ved jeg det ærligt talt ikke - men jeg vil tro at de fleste er dækket ind
Avatar billede breum Nybegynder
04. maj 2003 - 18:55 #14
Takker mange gange!
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