Hur kan jag få fram en frames titel? Låt säga att framen heter Main
document.Main.title verkar inte funka
edit\\ Kan även tillägga att jag vill få tag på namnet i en annan sida (index.html där framesetet ligger)
14 svar · 259 visningar · startad av LeonL
Hur kan jag få fram en frames titel? Låt säga att framen heter Main
document.Main.title verkar inte funka
edit\\ Kan även tillägga att jag vill få tag på namnet i en annan sida (index.html där framesetet ligger)
Om du skriver det i en annan ordning blir det nog bättre:
Main.document.title
(förutsatt att framen ligger ett steg "under" sidan du är på.
Ajdå... problemet är att den inte gör det ... Jag får strunta i den här funktionen då
Har du provat med parent.frames["Main"].document.title ?
Aleborg verkar ha problem med sina servrar nu... men ajg ska testa det när det funkar igen!
Nej det fungerade inte
Men struntsamma... jag kalrar mig utan den här funktionen. Men tack ändå för att ni försökte hjälpa mig!
Då tar jag ett exempel...
<html>
<title>Titeln ska vara densamma som på framen Main!</title>
<script language="Javascript">
document.title = parent.frames["Main"].document.title
</script>
<head>
<frameset cols="100,*" border="0">
<frame name="topp" src="topp.html">
<frame name="Main" src="main.html">
</frameset>
</head>
</html>
Skrev ihop det lite snabbt... kan vara end el missar som jag har missat.
När du ändrar sida i "Main" kommer inte JavaScriptet i huvudsidan att köras. Därför kommer huvusidans titel inte att ändras när du ändrar sida i "Main".
Jag skulle istället föreslå att du i alla sidor som laddas i "Main" (t ex main.html) skriver:
<script type="text/javascript">
parent.document.title = document.title;
</script>
Jo... tänk om det var så enkelt... jag kan nämligen inte påverka det som händer i Main och absolut inte ändra sidorna som visas i main... Inte mina sidor
Det enda jag i så fall skulle kunna komma på är en ruskigt ful lösning:
<script type="text/javascript">
var pageLatest = false;
function setTitle(){
var pageNow = window.frames['Main'].src;
if(pageLatest!=pageNow){
pageLatest=pageNow;
document.title = window.frames['Main'].document.title;
}
window.setTimeout("setTitle", 500);
}
window.onload = setTitle;
</script>
Nej, tyvärr... funkar inte Tack för att du försökte...
<html>
<title>Titeln ska vara densamma som på framen Main!</title>
<head>
<frameset cols="100,*" border="0">
<frame name="topp" src="topp.html">
<frame name="Main" src="main.html" onload="document.title = frames['Main'].document.title">
</frameset>
</head>
</html>
Notera dock att om den sida som laddas in i "Main" ligger på en
annan server än ditt frameset (dokumenten har olika
document.domain värden) så kan säkerhets funktioner i
webbläsaren hindra dig att läsa/ändra egenskaper för "Main"
från ramverket och vise versa.