|
| Hop ind i MIT frameset! Fra : Uffe Holst |
Dato : 28-10-01 20:51 |
|
Hej alle,
Der har lige været en tråd, der hed "Spring ud af frames", og mit problem
er lignende. Jeg har siddet og fiflet med noget JavaScript uden rigtig at
kunne få det til at virke.
For nu at gøre det simpelt. På et site har jeg en frameset liggende,
f.eks. på
http://www.domain1.dk/migselv/index.html (1)
og dette frameset indeholder to frames med navnene 'leftframe' og
'rightframe'.
Indholdet i disse frames ligger på et andet site, f.eks.
http://www.domain2.dk/migselv/rightcontents.html (2)
og så videre.
Hvis nu nogen, f.eks. via en søgemaskine, åbner (2), så vil jeg gerne
have, at siden pænt hopper ind i mit frameset (1), der som sagt ligger på
et andet site end (2), i stedet for blot at vise (2) i et fuldt vindue,
eftersom alle menuer i venstre frame jo ikke vil være medtaget.
Med mit frameset, der ser ud som:
<frameset cols="137,*" frameborder="0">
<frame src="menu.html" name="leftframe" frameborder="0">
<frame src="forside.html" name="rightframe" frameborder="0">
</frameset>
så er jeg dog bange for, at en sådan funktion altid vil vise
"forside.html", hvis der omdirigeres til mit frameset. Den side, som
en given søgemaskine har fundet, er måske ikke forsiden, men en anden
af mine sider (lad os kalde den "sideX.html", der normalt vil vælges via
menuen i den venstre frame. Jeg vil jo gerne have browseren til at vise
"sideX.html" (på site domain2.dk) i min frameset (på site domain1.dk).
Håber, at det var til at forstå. På forhånd tak.
--
Uffe Holst
| |
jopa (28-10-2001)
| Kommentar Fra : jopa |
Dato : 28-10-01 23:08 |
|
"Uffe Holst" skrev bla
Der har lige været en tråd, der hed "Spring ud af frames", og mit problem
er lignende. Jeg har siddet og fiflet med noget JavaScript uden rigtig at
kunne få det til at virke.
Ved ikke rigtigt om jeg har forstået dig rigtigt. Hvis så sæt nedenstående i
din header på de forskellige frames.
Kaldes framekiller
<script>
if (top.location == self.location)
{
top.location.href = "index.htm"
}
</script>
</head>
--
jopa
www.jp-web.dk
www.webshop-jylland.dk Gratis Butiksløsning
| |
Knud Gert Ellentoft (29-10-2001)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 29-10-01 00:04 |
|
Sun, 28 Oct 2001 23:07:33 +0100, skrev "jopa" <j@jp-web.dk>:
>Ved ikke rigtigt om jeg har forstået dig rigtigt. Hvis så sæt nedenstående i
>din header på de forskellige frames.
>Kaldes framekiller
Ja, men det svære er, og som det der vist ønskes, ikke at havne
på indexsiden, men på den pågældende side i framesættet.
--
med venlig hilsen
Knud
http://home13.inet.tele.dk/smedpark/
| |
Uffe Holst (29-10-2001)
| Kommentar Fra : Uffe Holst |
Dato : 29-10-01 09:01 |
|
In an article of 29 Oct 2001 Knud Gert Ellentoft wrote:
> >Ved ikke rigtigt om jeg har forstået dig rigtigt. Hvis så sæt nedenstående i
> >din header på de forskellige frames.
> >Kaldes framekiller
>
> Ja, men det svære er, og som det der vist ønskes, ikke at havne
> på indexsiden, men på den pågældende side i framesættet.
Ja, det er netop det, der ønskes. :)
Beklager, hvis jeg ikke fik formuleret det så tydeligt. Om det har nogen
betydning, ved jeg ikke, men jeg fandt det væsentligt at nævnte at mit
frameset og indholdet i de forskellige frames lå på forskellige servere.
Det gjorde det jo ikke mere klart, hvad jeg spurgte om.
--
Uffe Holst
| |
jopa (29-10-2001)
| Kommentar Fra : jopa |
Dato : 29-10-01 09:57 |
|
"Uffe Holst" skrev ..
Beklager, hvis jeg ikke fik formuleret det så tydeligt. Om det har nogen
betydning, ved jeg ikke, men jeg fandt det væsentligt at nævnte at mit
frameset og indholdet i de forskellige frames lå på forskellige servere.
Det gjorde det jo ikke mere klart, hvad jeg spurgte om.
Nå men den er skisme for kringlet for min lille hjerne desværre
Du må eksperimentere
--
jopa
www.jp-web.dk
www.webshop-jylland.dk Gratis Butiksløsning
| |
Carsten Nielsen (30-10-2001)
| Kommentar Fra : Carsten Nielsen |
Dato : 30-10-01 09:06 |
|
"jopa" <j@jp-web.dk> wrote in message
news:3bdd1aa8$0$259$edfadb0f@dspool01.news.tele.dk...
> "Uffe Holst" skrev ..
>
> Beklager, hvis jeg ikke fik formuleret det så tydeligt. Om det har nogen
> betydning, ved jeg ikke, men jeg fandt det væsentligt at nævnte at mit
> frameset og indholdet i de forskellige frames lå på forskellige servere.
> Det gjorde det jo ikke mere klart, hvad jeg spurgte om.
>
>
> Nå men den er skisme for kringlet for min lille hjerne desværre
>
> Du må eksperimentere
>
>
>
> --
> jopa
> www.jp-web.dk
> www.webshop-jylland.dk Gratis Butiksløsning
>
>
>
OK, Uffe, du har et framesæt, hvor der kan være 50 forskellige højre-sider.
Problemet er at når du siger
top.location.href = "index.htm"
så får du den oprindelige højre-side, ikke den kunden fik åbnet.
Hvad hvis du kopierede selve frame-sættet i 50 eksemplarer, og angav den
ønskede højre side som højreside i de forskellige 50 framesæt ?
Så hedder det bare
top.location.href = "index49.htm"
i headeren på side49.htm
med korrekt venstre side og side 49 i højre frame.
Carsten Nielsen
| |
Morten Abildgaard (28-10-2001)
| Kommentar Fra : Morten Abildgaard |
Dato : 28-10-01 23:51 |
|
"Uffe Holst" <uhc@post6.tele.dk> skrev:
[klip]
> Hvis nu nogen, f.eks. via en søgemaskine, åbner (2), så vil jeg
> gerne have, at siden pænt hopper ind i mit frameset (1), der som
> sagt ligger på et andet site end (2), i stedet for blot at vise (2) i
> et fuldt vindue, eftersom alle menuer i venstre frame jo ikke vil
> være medtaget.
[klip]
> Håber, at det var til at forstå. På forhånd tak.
Jo, det er til forstå, og det kan også godt lade sig gøre:
Løsningen består selvsagt af 2 dele.
Den første del skal sidde i dokumenterne med indholdet som du
gerne vil have "indrammet", og den anden skal sidde i dit frameset
som skal kunne kontrolleres...
Du skal nok "fifle" en smule for at få tingene tilpasset, men dette er
hvad jeg har brugt, og du kan sikkert godt se den røde tråd i det...
Sæt dette ind i dine "indholds"-dokumenter:
<script>
if (parent.frames && parent.frames.length != 2){
parent.location=' http://www.domain1.dk/?'+self.location;
}
</script>
og dette i <head>'en på dit frameset-dokument:
<script>
var uri=this.location.toString();
if(uri.indexOf('?')!=-1 && (uri.substring(uri.length-3,uri.length)=='htm')){
var Qpage='';
for(var w=(uri.indexOf('?')+1); w<uri.length; w++){Qpage+=uri.charAt(w);}
frames['rightframe'].location=Qpage;
}
</script>
mvh
morten
| |
Uffe Holst (29-10-2001)
| Kommentar Fra : Uffe Holst |
Dato : 29-10-01 14:20 |
|
In an article of 28 Oct 2001 Morten Abildgaard wrote:
> Du skal nok "fifle" en smule for at få tingene tilpasset, men dette er
> hvad jeg har brugt, og du kan sikkert godt se den røde tråd i det...
Hmmm... nu har jeg ikke det store kendskab til JavaScript. Det her er
ligesom bare lidt fritidshygge for min spejdergruppe.
Du har vel ikke et link til et sted, hvor det virker.
Man lærer nemlig meget af at kigge på andres, og i en større helhed er
det nok lidt bedre.
Men tak i hvert fald.
--
Uffe Holst
| |
Morten Abildgaard (29-10-2001)
| Kommentar Fra : Morten Abildgaard |
Dato : 29-10-01 17:39 |
|
"Uffe Holst" <uhc@post6.tele.dk> skrev:
> Hmmm... nu har jeg ikke det store kendskab til JavaScript.
> Det her er ligesom bare lidt fritidshygge for min spejdergruppe.
Det er OK...
> Du har vel ikke et link til et sted, hvor det virker.
> Man lærer nemlig meget af at kigge på andres, og i en større
> helhed er det nok lidt bedre.
> Men tak i hvert fald.
Du har så evigt ret: videbegær er en dyd
Min HP er under konstruktion, så hvis du kan se bort fra det
så se her:
http://abildgaard.org/z/sms.htm
mvh
morten
| |
Knud Gert Ellentoft (29-10-2001)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 29-10-01 18:57 |
|
Mon, 29 Oct 2001 17:39:07 +0100, skrev "Morten Abildgaard"
<dont.send@email.no>:
>Min HP er under konstruktion, så hvis du kan se bort fra det
>så se her:
> http://abildgaard.org/z/sms.htm
Umiddelbart er der der da ikke noget, da ikke noget, som
forhindrer mig i at åbne siderne udenfor framesættet.
Når jeg laver et link til
http://abildgaard.org/jokes/main.htm, så åbner denne side da
alene og ikke i framesættet og jeg kan også åbne den i mit eget
framesæt.
--
med venlig hilsen
Knud
http://home13.inet.tele.dk/smedpark/
| |
Morten Abildgaard (29-10-2001)
| Kommentar Fra : Morten Abildgaard |
Dato : 29-10-01 19:04 |
|
"Knud Gert Ellentoft" <knudgert@mail.tele.dk> skrev:
> Umiddelbart er der der da ikke noget, da ikke noget, som
> forhindrer mig i at åbne siderne udenfor framesættet.
Hehe, nej, det var kun den ene side jeg gav linket til, som gerne skulle
indramme sig selv. Det er en gammel løsning jeg fjernede fra alle siderne,
men som nok kommer ind igen på et senere tidspunkt.
Men hvis den virker (på den ene side) så er jeg da tilfreds, for scriptet
i den side er jo ikke unikt og er derfor lige til at smide over i et eksternt
script (i en .js-fil)
- men tak for kritiken
mvh
morten
| |
Knud Gert Ellentoft (29-10-2001)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 29-10-01 20:01 |
|
Mon, 29 Oct 2001 19:03:49 +0100, skrev "Morten Abildgaard"
<dont.send@email.no>:
>Hehe, nej, det var kun den ene side jeg gav linket til, som gerne skulle
>indramme sig selv.
Ja, men det er jo også selve framesættet, der bliver linket til
og det er jo ikke noget problem.
Det er jo stadigvæk en underside, der skal åbne i framesættet og
det gør dine ikke.
--
med venlig hilsen
Knud
http://home13.inet.tele.dk/smedpark/
| |
Morten Abildgaard (29-10-2001)
| Kommentar Fra : Morten Abildgaard |
Dato : 29-10-01 22:06 |
|
"Knud Gert Ellentoft" <knudgert@mail.tele.dk> skrev:
> Det er jo stadigvæk en underside, der skal åbne i framesættet og
> det gør dine ikke.
det gør den hos mig
Scriptet i <head>'en af index-siden ser således ud:
function reMain(){
var reTo='';
var uri=this.location.toString();
if(uri.indexOf('?')!=-1){
for(var e=(uri.indexOf("?")+1); e<uri.length; e++){ reTo+=uri.charAt(e); }
frames[2].location=reTo;
}
}
....<frameset onLoad="reMain()">...
Så kan du jo selv sætte dig til at lege videre med, men idéen er rigtig
og det er scriptet næsten også...
mvh
morten
| |
Uffe Holst (29-10-2001)
| Kommentar Fra : Uffe Holst |
Dato : 29-10-01 23:34 |
|
In an article of 29 Oct 2001 Morten Abildgaard wrote:
> > Det er jo stadigvæk en underside, der skal åbne i framesættet og
> > det gør dine ikke.
>
> det gør den hos mig
Jeg må jo også indrømme, at jeg efter mere eller mindre at have kopieret
dit byte for byte, ikke kan få det til at virke. Det er nu lykkedes mig at
få mit frameset til at virke, så den i hvert fald viser forsiden.
Men viser jeg en underside for sig selv, så forsøger den ganske fint at
hoppe hen til framesættet, men det er forsiden, der bliver vist.
Pt. ligger min framesæt hos World Online, fordi adgangen til Det Danske
Spejderkorps' server ikke er sådan lige for alle og enhver, og så er WOL
godt at bruge til sine eksperimenter :)
< http://home.worldonline.dk/~uhc>
Viser jeg en af de andre sider for sig selv, f.eks. siden:
< http://home6.inet.tele.dk/uhc/eremitage/galleri/ilejr2001_13_10_2001.html>
så forsøger browseren fint at skifte til:
< http://home.worldonline.dk/~uhc/?http://home6.inet.tele.dk/uhc/eremitage/galleri/ilejr2001_13_10_2001.html>
men browseren viser dog stadig forsiden, ganske som hvis der ikke havde
været noget angivet efter "?".
Hvorfor så det? Umiddelbart vil jeg dog give min gamle Amiga og dens
skodbrowsere skylden for problemerne, indtil jeg får lejlighed til at kigge
forbi en gang MSIE et sted.
> if(uri.indexOf('?')!=-1){
> for(var e=(uri.indexOf("?")+1); e<uri.length; e++){ reTo+=uri.charAt(e); }
Hvorfor ' det ene sted og " det andet sted?
--
Uffe Holst
| |
Morten Abildgaard (30-10-2001)
| Kommentar Fra : Morten Abildgaard |
Dato : 30-10-01 00:02 |
|
"Uffe Holst" <uhc@post6.tele.dk> skrev:
> Jeg må jo også indrømme, at jeg efter mere eller mindre at have
> kopieret dit byte for byte, ikke kan få det til at virke. Det er nu
> lykkedes mig at få mit frameset til at virke, så den i hvert fald
> viser forsiden.
Den første ting: "language=Javacript" er udgået af HTML4.01.
Brug type="text/javascript".
Og lige inden du sletter language=JavaScript, vil du se at det sidste
gåseøje (lige efter JavaScript) mangler, og det er i hvert fald en fejl
der har betydning for resten af HTML-dokumentet.
> Men viser jeg en underside for sig selv, så forsøger den ganske
> fint at hoppe hen til framesættet, men det er forsiden, der bliver vist.
Ja, og det er jo ikke det mest optimale. Vi (jeg) synes jo først det er godt
når det er den rigtige side der bliver vist i den rigtige frame, intet mindre.
> Pt. ligger min framesæt hos World Online, fordi adgangen til Det Danske
> Spejderkorps' server ikke er sådan lige for alle og enhver, og så er WOL
> godt at bruge til sine eksperimenter :)
[klip]
Prøv lige denne her:
http://home.worldonline.dk/~mabild/?http://www.google.com
og se om den (heller ikke) virker...
[klip]
> Hvorfor ' det ene sted og " det andet sted?
Ups, det er bare ham pølsen Morten A, der for det meste bruger '
men ind i mellem kommer til at bruge ". Det er jo 2 forskellige tegn
der har samme funktion, og de er begge "lige højt i hierakiet". Den
ene er ikke bedre end den anden. Til gengæld er det nødvendigt at
bruge begge typer hvis man f.eks. laver en timeout a la denne:
setTimeout("frames['mainframe'].location=reTo",1000);
Men man kan dog også sætte en \ backslash foran, sådan her:
setTimeout('frames[\'mainframe\'].location=reTo',1000);
held og lykke
mvh
morten
| |
Uffe Holst (30-10-2001)
| Kommentar Fra : Uffe Holst |
Dato : 30-10-01 13:43 |
| | |
Uffe Holst (30-10-2001)
| Kommentar Fra : Uffe Holst |
Dato : 30-10-01 18:02 |
|
In an article of 28 Oct 2001 Morten Abildgaard wrote:
> Sæt dette ind i dine "indholds"-dokumenter:
>
> <script>
> if (parent.frames && parent.frames.length != 2){
> parent.location=' http://www.domain1.dk/?'+self.location;
> }
> </script>
Efter nu - forhåbentlig - at have fået det til at virke, så har jeg
jo forsøgt at forstå koden. Og jeg må jo erkende, at jeg ikke forstår
den ovenstående if().
Umiddelbart - uden at forstå den - vil jeg mene, at ovenstående KUN
hopper ind i min frame, såfremt vinduet vises alene.
Jeg kunne jo egentlig også godt tænke mig, at min side ikke bliver vist
i andre folks frame, for så vil min menu jo ikke være tilgængelig. Af
ovenstående kode ser jeg nemlig intet til hinder for at stoppe siden
ind i en hvilken som helst frame, blot der er en frame så er koden
glad og tilfreds og gør ikke noget.
Så hvordan kan jeg tjekke, at det vitterligt er mit framesæt, som
indholdet vises i?
--
Uffe Holst
| |
Knud Gert Ellentoft (30-10-2001)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 30-10-01 19:03 |
|
30 Oct 2001 17:02:11 GMT, skrev "Uffe Holst"
<uhc@post6.tele.dk>:
>Jeg kunne jo egentlig også godt tænke mig, at min side ikke bliver vist
>i andre folks frame, for så vil min menu jo ikke være tilgængelig.
Derfor bør man altid på framesæt enten sætte en eller form for
navigering på alle sider, ihvertfald de vigtige som åbner i
mainvinduet eller om ikke andet lave et link til indexsiden.
--
med venlig hilsen
Knud
http://home13.inet.tele.dk/smedpark/
| |
|
|