webForumDet fria alternativet

Byta två iframes med en länk

HTML & CSS

20 svar · 446 visningar · startad av clearvolume

Medlem sedan apr. 200328 inlägg
Frågan#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.

Medlem sedan dec. 20025 483 inlägg
#2
<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.

:)

Medlem sedan apr. 200328 inlägg
#3

sorry, glömde ju att nämna att jag vill ladda två olika sidor i två olika iframes...

Medlem sedan dec. 20025 483 inlägg
#4
<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'])">

:)

Medlem sedan jan. 20016 874 inlägg
#5

Javascript, och jojoxx har förståss en lösning på det ;)

Medlem sedan apr. 200328 inlägg
#6

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

Medlem sedan dec. 20025 483 inlägg
#7

Det var jag som klantade mig ;) Därav min redigering för några minuter sedan ( se det förra inlägget ).

:)

Medlem sedan apr. 200328 inlägg
#8

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

Medlem sedan dec. 20025 483 inlägg
#9

Heter dina ramar "infoscreen" respektive "screen"? D.v.s.:

<iframe name="infoscreen"...

:)

Medlem sedan apr. 200328 inlägg
#10

japp

Medlem sedan dec. 20025 483 inlägg
#11

Var ligger länken som du uppdaterar ramarna med?

:)

Medlem sedan apr. 200328 inlägg
#12

menar du...

<map name="Map">
  <area ... href="javascript:void(0)" onclick="update(['infoscreen','moduler/mod1/infoscreen.htm'],['screen','screen.html'])">
</map>

...??

Medlem sedan dec. 20025 483 inlägg
#13

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?

:)

Medlem sedan apr. 200328 inlägg
#14

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

Medlem sedan dec. 20025 483 inlägg
#15

Då skall koden fungera. Kan du posta all kod?

:)

Medlem sedan apr. 200328 inlägg
#16

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>

...

Medlem sedan dec. 20025 483 inlägg
#17

Hmm, du får byta namn på ramen screen till någonting annat. Då skall det lösa sig.

:)

Medlem sedan apr. 200328 inlägg
#18

ha.. det funkar! Som jag sa tidigare.. grymt tacksam... Det blev jäkligt bra.. eller snart iaf.. lite fin puts...

Medlem sedan apr. 200328 inlägg
#19

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

Medlem sedan dec. 20025 483 inlägg
#20

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.

:)

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)