Hur kan jag få fram en frames titel? Låt säga att framen heter Main
document.Main.title verkar inte funka :l
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 :l
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å :l
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! :bire
Nej det fungerade inte :l
Men struntsamma... jag kalrar mig utan den här funktionen. Men tack ändå för att ni försökte hjälpa mig! :bire
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 :l 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.