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
5 svar · 174 visningar · startad av webbmannen
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
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
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
<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!!!
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/
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]