webForumDet fria alternativet

JavaScript för att öppna nytt fönster med Flash button?

10 svar · 467 visningar · startad av Drossy

DrossyMedlem sedan sep. 200445 inlägg
#1

Jag har en webbsida gjord i Dreamweaver, och där skulle jag vilja använda några Flash-knappar. (Dessa är också gjorda i Dreamweaver). Knapparna är placerade i en tabell, en slags evenemangskalender, och då man klickar på respektive knapp vill jag att ett litet fönster, typ inforuta, öppnas, utan verktygsfält, scrollist o.s.v. Varje inforuta behöver vara i olika storlek eftersom det är olika mycket text i dem. Tyvärr är jag nybörjare, och kan i stort sett ingenting om JavaScript, så jag får inte detta att fungera. Kan någon hjälpa mig att se vad som blivit fel i koden?
Hela koden finns i tabellcellen där jag har den aktuella Flashknappen. Knappen jag skapat heter buttonGrand
Dokumentet jag vill ska visas i fönstret heter grand.html

<td> <script language="javascript">
function openWindow(){
window.open('grand.html','','height=385,width=410,menubar=0,resizable=0,scrollbars=0, status=0,titlebar=0,toolbar=0,left=0,top=0');
}
</script>
<title>buttonGrand</title><br>
<!--url's used in the movie-->
<!--text used in the movie-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="20" title="buttonGrand">
<param name="movie" value="buttonGrand.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<embed src="buttonGrand.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="20" bgcolor="#CCCCCC"></embed>
</object>
</td>

Vore oerhört tacksam om någon kunde hjälpa mig att lösa detta!

@ndersMedlem sedan juni 200026 914 inlägg
#2

Vad som händer när du klickar på flashknappen är väl något du bestämmer i flashfilen?

DrossyMedlem sedan sep. 200445 inlägg
#3

Då jag gör knappen i Dreamweaver skapas enbart en .swf-fil, alltså bara själva filmen. Det finns ingen .fla-fil som jag kan ta in i Flash och jobba med. Jag kan i Dreamweaver välja att länka knappen till en vanlig sida, men jag kan inte ange måtten för fönstret, eller att verktygsfälten inte ska vara med. Det är flera som sagt att det skall gå att lösa detta med hjälp av javaScript, men jag får det helt enkelt inte att fungera!

Peter SMedlem sedan dec. 20025 484 inlägg
#4

I rutan där du anger vad som skall hända då användaren trycker på knappen, kan du testa med att skriva javascript:openWindow() eller liknande.

:)

DrossyMedlem sedan sep. 200445 inlägg
#5

Tusen tack!! Jag hoppad högt av förskräckelse då det plötsligt fungerade, efter veckor av grubbel och otaliga försök!

DrossyMedlem sedan sep. 200445 inlägg
#6

Problemen upphör visst aldrig! Glad i hågen började jag nu tillämpa ovanstående på mina knappar. Men det är hela tiden samma fönster som dyker upp! Då jag lägger in scriptet på nästa, helt nyskapade, knapp med namnetkronhuset.swf och anger ny höjd och vidd på fönstret samt den sida jag nu vill ska visa sig, är det ändå den första sidan som kommer upp! Jag lägger in koden här för säkerhets skull, föer två olika Flashknappar. Den nedersta var den jag började med, och den är helt OK. Men den översta visar samma sida trots att jag tycker att jag ändrat samtliga inställningar för att en annan sida (kronhuset.html) skall visas. Finns någon lösning på detta tro..?

<td> <script language="javascript">
function openWindow(){
window.open('kronhuset.html','','height=490,width=345,menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0toolbar=0,left=0,top=0');
}
</script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="20" title="kronhuset">
<param name="movie" value="kronhuset.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<a href="javascript:en_function()">
<embed src="kronhuset.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="20" bgcolor="#CCCCCC"></embed>
</a>
</object>
</td>
</tr>

<tr>
<td class="datum">041129</td>
<td><span class="text">Adventskonsert med Helen Sjöholm,

Peter J&ouml;back, Lill Lindfors m.fl. f&ouml;r organisationen Friends p&aring; Vintertr&auml;dg&aring;rden, Grand Hotel i Stockholm kl 19.00 \</span\>\</td\>
\<td\> \<script language="javascript"\>

function openWindow(){
window.open('grand.html','','height=385,width=410,menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0,left=0,top=0');
}
</script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="20" title="buttonGrand">
<param name="movie" value="buttonGrand.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<a href="javascript:en_function()">
<embed src="buttonGrand.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="20" bgcolor="#CCCCCC"></embed>
</a>
</object>
</td>

Peter SMedlem sedan dec. 20025 484 inlägg
#7

Givetvis går det att lösa. Börja med att ändra funktionen openWindow() till följande:

function openWindow(u, n, h, w) {
    window.open(u, n, "height="+ h +",width="+ w +",menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0,left=0,top=0");
}

Sedan anropar du funktionen enligt följande:

openWindow("[b]sidan.html[/b]", "[b]unik_identifierare[/b]", [b]höjd_på_fönster[/b], [b]bredd_på_fönster[/b]);

Notera att unik_identifierare skall vara en unik sträng för varje knapp.

För dina två exempel kan det alltså se ut enligt följande:

<script type="text/javascript">

function openWindow(u, n, h, w) {
    window.open(u, n, "height="+ h +",width="+ w +",menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0,left=0,top=0");
}

</script>

// kronhuset.swf
java&#115;cript:openWindow("kronhuset.html", "kronhuset", 490, 345);

// buttonGrand.swf
java&#115;cript:openWindow("grand.html", "grand", 385, 410);

Notera också att det ej skall vara några radbrytningar i window.open-raden i JS-funktionen (som det är ovan).

:)

DrossyMedlem sedan sep. 200445 inlägg
#8

Stort tack för hjälpen, ska försöka att följa dina anvisningar efter bästa förmåga! (önskar att dygnet hade 48 timmar...)

DrossyMedlem sedan sep. 200445 inlägg
#9

Nu fungerar det nästan exakt så som jag önskat, förutom ett sista litet problem som jag undrar om någon kan hjälpa mig med: Fönstren öppnas onLoad istället för onClick. Exakrt var placerar jag in "onClick"? (Visa gärna hur det bör se ut på den raden så att alla tecken hamnar på rätt plats...)
Sedan vet min tacksamhet inga gränser, för detta problem har jag nästan grubblat mig fördärvad på den senaste tiden!!

Peter SMedlem sedan dec. 20025 484 inlägg
#10

Var kommer onload in i bilden? Är det inte meningen att fönstren skall öppnas då besökaren trycker på flashknappen? I sådana fall:

<script type="text/javascript">

function openWindow(u, n, h, w) {
    window.open(u, n, "height="+ h +",width="+ w +",menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0,left=0,top=0");
}

</script>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="20" title="kronhuset">
<param name="movie" value="kronhuset.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<embed src="kronhuset.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="20" bgcolor="#CCCCCC"></embed>
</object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="20" title="buttonGrand">
<param name="movie" value="buttonGrand.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<embed src="buttonGrand.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="20" bgcolor="#CCCCCC"></embed>
</object>

När du skapar kronhusetknappen lägger du till att den skall länka till:

java&#115;cript:openWindow("kronhuset.html", "kronhuset", 490, 345);

Och när du skapar buttonGrandknappen anger du att länkningen skall ske till:

java&#115;cript:openWindow("grand.html", "grand", 385, 410);

:)

DrossyMedlem sedan sep. 200445 inlägg
#11

Äntligen gick det upp ett ljus! Jag trodde att de unika strängarna för respektive knapp skulle läggas in i koden. När jag gjorde det öppnades visserligen rätt fönster, med de kom upp redan då sidan laddades, inte när man tryckte på knappen. Men nu förstår jag att de unika strängarna ska anges som länk, och nu fungerar det perfekt!
Tusen tack ännu en gång, det här hade jag ALDRIG klarat utan din hjälp och stora tålamod!

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