Frågan 13 apr. 2003 08:30 #1 vet inte om jag skriver rätt nu men..
Jag har två iframes som jag vill uppdatera med en länk från en imap. Jag har kikat runt här efter nåt sätt men alla förslag verkar bygga på att man har ett frameset och kör frames i, men det är ju det jag inte har.
Jag har alltså två iframes, 'infoscreen' och 'screen' som jag vill uppdatera med en länk från en imap.
...vore tacksam om nån kunde hjäpa mig.
P Peter S Medlem sedan dec. 2002 5 483 inlägg <script type="text/javascript">
<!--
function update(){
var j=arguments.length;
while(j-->0)
window.frames[j].location.reload();
};
-->
</script>
...
<area href="javascript:void(0)" onclick="update([i]'namn_ram1','namn_ram2'[/i])">
Notera att det inte skall vara något mellanrum i ordet "javascript" ovan.
:)
sorry, glömde ju att nämna att jag vill ladda två olika sidor i två olika iframes...
P Peter S Medlem sedan dec. 2002 5 483 inlägg <script type="text/javascript">
<!--
function update(){
var j=arguments.length;
while(j-->0){
window.frames[arguments[j][0]].location.href = arguments[j][1];
}
};
//-->
</script>
...
<area href="javascript:void(0)" onclick="update(['infoscreen','infoscreen.html'],['screen','screen.html'])">
:)
frankof Medlem sedan jan. 2001 6 874 inlägg Javascript, och jojoxx har förståss en lösning på det ;)
tja igen... vill inte vara jobbig men det funkade inte riktigt (Peter S) ...får felmeddelande från IE Fel: 'i' är odefinierad.
provade ett av jojoxx script med då fick jag oxå fel...
...vad gör jag för fel??
<script type="text/javascript">
<!--
function update(){
var j=arguments.length;
while(j-->0){
window.frames[arguments[i][0]].location.href = arguments[i][1];
}
};
//-->
</script>
..och sen länken...
<area .... href="javascript:void(0)" onclick="update(['infoscreen','info.html'],['screen','senap.html'])">
:q :l
P Peter S Medlem sedan dec. 2002 5 483 inlägg Det var jag som klantade mig ;) Därav min redigering för några minuter sedan ( se det förra inlägget ).
:)
jag är grymt tacksam för din hjälp.. men det går inte ändå.. *gråter*
Nu kör jag ditt senaste skript och får felmeddelandet Fel: 'window.frames[...].location' är null eller inte ett objekt.
(...om man ändå kunde java...)
P Peter S Medlem sedan dec. 2002 5 483 inlägg Heter dina ramar "infoscreen" respektive "screen"? D.v.s.:
<iframe name="infoscreen"...
:)
P Peter S Medlem sedan dec. 2002 5 483 inlägg Var ligger länken som du uppdaterar ramarna med?
:)
menar du...
<map name="Map">
<area ... href="javascript:void(0)" onclick="update(['infoscreen','moduler/mod1/infoscreen.htm'],['screen','screen.html'])">
</map>
...??
P Peter S Medlem sedan dec. 2002 5 483 inlägg Nej, jag menar på vilken sida den ligger. Ponera att ramarna i fråga ligger på sidan "index.html". Var ligger då länken? På "index.html" eller någon annan sida?
:)
jag har en bild på en sida som heter mod1.htm, på den sidan ligger oxå 2st iframes ('infoscreen' & 'screen'). När jag trycker på en länk i bilden vill jag ladda info.htm i 'infoscreen' och text.htm i 'screen'.
:OO
P Peter S Medlem sedan dec. 2002 5 483 inlägg Då skall koden fungera. Kan du posta all kod?
:)
sure.. (kanske inte den bästa kodningen)
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<link rel=stylesheet href=css/sheet.css type=text/css>
<script type="text/javascript">
<!--
function update(){
var j=arguments.length;
while(j-->0){
window.frames[arguments[j][0]].location.href = arguments[j][1];
}
};
//-->
</script>
</head>
<body bgcolor=#000000 marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>
<table cellpadding=0 cellspacing=0 border=0 width=640 heigh=480>
<tr>
<td align=center valign=middle>
<table cellspacing=0 cellpadding=0 border=0>
<tr> <td align=center valign=top><img src=moduler/mod1/images/mod1_ram_skelett2.gif usemap="#Map" border=0></td></tr>
</table>
</td>
</tr>
</table>
<div id=modulpos class=Modulpres>
<b>Modul 1</b><br> - The Bone structure
</div id=modulpos class=Modulpres>
<div id=infoscreenpos><iframe width=290 height=300 name="infoscreen" src=moduler/mod1/infoscreen.htm frameborder=0 scrolling=no allowtransparency="true"></iframe></div id=infoscreenpos>
<div id=screenpos><iframe width=450 height=400 name="screen" src=emptyword.htm frameborder=0 scrolling=no allowtransparency="true"></iframe></div id=screenpos>
<div id=menypos><iframe width=100 height=100 name="meny" src=emptyword.htm frameborder=0 scrolling=no allowtransparency="true"></iframe></div id=screenpos>
<map name="Map">
<area shape="rect" coords="323,181,367,213" href="javascript:void(0)" onclick="update(['infoscreen','moduler/mod1/infoscreen.htm'],['screen','screen.html'])">
<area shape="rect" coords="439,125,481,183" href="moduler/mod1/skull.htm" target=screen alt=Skull>
<area shape="rect" coords="432,391,488,439" href="moduler/mod1/foot.htm" target="screen" alt="Feets">
<area shape="rect" coords="63,427,85,454" href="moduler/mod1/mod1_r.htm" alt="Right">
<area shape="circle" coords="46,441,13" href="meny.htm" target=meny alt="Menu">
<area shape="rect" coords="8,427,30,454" href="moduler/mod1/mod1_l.htm" target=_self alt="Left">
<area shape="rect" coords="30,454,62,472" href="mainhall.htm" alt="Go back">
</map>
</body>
</html>
...
P Peter S Medlem sedan dec. 2002 5 483 inlägg Hmm, du får byta namn på ramen screen till någonting annat. Då skall det lösa sig.
:)
ha.. det funkar! Som jag sa tidigare.. grymt tacksam... Det blev jäkligt bra.. eller snart iaf.. lite fin puts...
men nu dök jag på ett nytt problem förstås... *pinsamt* om jag har flera länkar i bilden och vill göra samma sak.. samma iframes och så fast en annan sida...
P Peter S Medlem sedan dec. 2002 5 483 inlägg Då gör du så här:
...
<area onclick="update(['infoscreen','sida1.html'],['ram2','sida2.html'])"...
<area onclick="update(['infoscreen','sida3.html'],['ram2','sida4.html'])"
...
Du kan alltså använda funktionen fler än en gång. Det enda du behöver göra är att ändra sidnamnen till de önskade.
:)