webForumDet fria alternativet

If not index

5 svar · 174 visningar · startad av webbmannen

webbmannenMedlem sedan dec. 1999826 inlägg
#1

Hur skulle ett skript se ut som fixar detta:

Om en besökare har kommit in via en frame som tillhör ett frameset så ska han få en alert/popup eller nåt annat som ger möjlighet att gå till den rätta index-sidan.

Går detta alls att fixa?

/webb

mgnsMedlem sedan sep. 20001 inlägg
#2

Om du lägger in detta under HEAD så ska din sida hoppa ut ur framen och laddas in i hela fönstret.

<SCRIPT language="JavaScript"><!--
if (parent.frames.length > 0) {
parent.location.href = location.href;
}
// --></SCRIPT>

------------------
::
::mgns
::m@hogberg.as

webbmannenMedlem sedan dec. 1999826 inlägg
#3

Nja, det är ett bra script i sig, men inte riktigt det jag menade. Ska försöka förtydliga mig.

Ex.
En sökmotor har indexerat en sida som egentligen tillhör ett frameset. Då blir resultatet att man bara får se tex. sidan "left.html". Där skulle man ju vilja ha en redirect på nåt vis till den rätta index-sidan.

Hoppas jag var tydligare nu ;)

/webb

Alpha IIMedlem sedan maj 20002 993 inlägg
#4
<SCRIPT language="JavaScript"><!--
if (parent.frames.length <= 0) {
parent.location.href = "index.htm";
}
// --></SCRIPT>

kanske???

Använd location.replace istället!

------------------
Världen går under år 3000!!!

webbmannenMedlem sedan dec. 1999826 inlägg
#5

Nej tyvärr,

Båda dessa skrivningar gör egentligen tvärt om mot det jag vill. De gör så att sidan med scriptet tar över hela skärmen.

webb/

JohnsenMedlem sedan juli 2000836 inlägg
#6

Hej där mannen!
Tycker det verkar lite luddigt, men vad tror du om det här?

Man dyker på en sida som igentligen borde vara i ett frameset och inte ensam. Sidan omdirigeras:

<html>
<head>
<SCRIPT LANGUAGE="JavaScript"><!--
// Kollar om sidan visas utanför ett frameset
// och kastar tillbaka den.
if(top==self) {
var parent="frame.html" //Sidan med framesetet.
var currURL=unescape(window.location.pathname);
var newURL=parent + "?" + currURL;
location.replace(newURL);
}
//-->
</SCRIPT>
</head>

Resten av sidan som vanligt...

</html>

För att framesidan skall veta vilken sida som skall visas, skriver vi:

<html>
<script language="JavaScript"><!--
var u = parent.location.search.substr(1);
document.write("<FRAMESET rows=*,200>");
if(u == ""){ //här är den vanliga start sidan
document.write("<FRAME src='start.html' name='main'>");
}
else{ //Ny sida om man kommer utifrån framen
document.write("<FRAME src='" +u+ "' name='main'>");
}
document.write("<FRAME src='nav.html' name='nav'>");
document.write("</FRAMESET>")
// --></script>
</html>

Den ensama sidan vi dök på behöver ju inte vara "startsidan" för framesetet.
(blev det flummigt?)

------------------
"Vi borde ses och brainstorma om famtiden..."

[Redigerat av Johnsen den 22 sep 2000]

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)