webForumDet fria alternativet

framens title

14 svar · 259 visningar · startad av LeonL

LeonLMedlem sedan dec. 20023 175 inlägg
#1

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)

Nexus86Medlem sedan okt. 20022 683 inlägg
#2

Stark gissning:

top.Main.title

LeonLMedlem sedan dec. 20023 175 inlägg
#3

Nexus86 skrev:

Stark gissning:

top.Main.title

Nopp... funkar inte :l

dectgapMedlem sedan sep. 20021 542 inlägg
#4

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å.

LeonLMedlem sedan dec. 20023 175 inlägg
#5

Ajdå... problemet är att den inte gör det :(... Jag får strunta i den här funktionen då :l

RGBMedlem sedan dec. 1999362 inlägg
#6

Har du provat med parent.frames["Main"].document.title ?

LeonLMedlem sedan dec. 20023 175 inlägg
#7

Aleborg verkar ha problem med sina servrar nu... men ajg ska testa det när det funkar igen! :bire

LeonLMedlem sedan dec. 20023 175 inlägg
#8

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

RGBMedlem sedan dec. 1999362 inlägg
#9

Umh?

Hur ser din frameset kod ut?

LeonLMedlem sedan dec. 20023 175 inlägg
#10

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.

dectgapMedlem sedan sep. 20021 542 inlägg
#11

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>
LeonLMedlem sedan dec. 20023 175 inlägg
#12

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 ;)

dectgapMedlem sedan sep. 20021 542 inlägg
#13

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>
LeonLMedlem sedan dec. 20023 175 inlägg
#14

Nej, tyvärr... funkar inte :l Tack för att du försökte...

RGBMedlem sedan dec. 1999362 inlägg
#15

<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.

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb