64 messaggi dal 09 gennaio 2006
Mi risulta comodo inserire file .swf usando swfobject.

Ad esempio, per inserire il file alice.swf nella div flashAnimation1, ho usato il semplice codice:

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("alice.swf", "FlashAnimation1", "300", "300", "9")</script>
<div id="FlashAnimation1" style="width:300px;height:300px"></div>

Il metodo si avvale del file swobject.js che elimina l'apparire della dicitura "click to activate", ma, a quanto ho capito, detto file deve essere inserito in unica directory con il file .swf e con il swobject.js e questo disturba un po'.

Questo metodo funziona perfettamente con una normale pagina .aspx, ma, con mia grande sorpresa, non funziona in una contentPage che fa riferimento ad una MasterPage. Come mai non ho idea.
Modificato da nodar10 il 05 gennaio 2009 14.55 -
3.166 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

la masterpage e la contentpage non c'entrano niente. Dipende dal path che dai al tag script e dal primo parametro del metodo embedSWF. controlla che questi puntino correttamente.

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
64 messaggi dal 09 gennaio 2006
Per essere certo, ho creato due pagine, prova1.aspx e prova2.aspx, la prima delle quali riferita alla MasterPage HomeMaster, nelle quali ho inserito lo stesso identico codice di animazione.
Le due pagine si trovano nella stessa directory insieme a AlicePhisics.swf ed a swfobject.js, cioe' nella radice del sito.

Ecco i codici delle due pagine:
-prova1.aspx:
<%@ Page Language="VB" MasterPageFile="~/home.master" AutoEventWireup="false" CodeFile="prova1.aspx.vb" Inherits="prova1" title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</script>
<div id="FlashAnimation1" runat="server" style="width:300px;height:300px;background-color:Aqua "></div>

</asp:Content>

-prova2.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="prova2.aspx.vb" Inherits="prova2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</script>
<div id="FlashAnimation1" runat="server" style="width:300px;height:300px;background-color:Aqua "></div>
</form>
</body>
</html>

Ebbene, la seconda funziona e la prima no!
3.166 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

guarda l'html prodotto da entrambi gli esempi e controlla che sia identico, sicuramente ci sono delle differenze che smettono di farti funzionare il tutto. trovale e postale così vediamo di scovare il problema.
HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
64 messaggi dal 09 gennaio 2006
Ciao Stefano
L'HTML prodotto in IE6 nei due casi relativo all'animazione e':

-Prova1
<SCRIPT src="swfobject.js" type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</SCRIPT>

<DIV id=ctl00_ContentPlaceHolder1_FlashAnimation1
style="WIDTH: 300px; HEIGHT: 300px; BACKGROUND-COLOR: aqua"></DIV><

-Prova2
<SCRIPT src="swfobject.js" type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</SCRIPT>

<DIV id=FlashAnimation1
style="WIDTH: 300px; HEIGHT: 300px; BACKGROUND-COLOR: aqua"></DIV>

Nel frattempo pero' ho scoperto che in Firefox5 nessuna delle due pagine funziona. L'Html di Firefox mi sembra lo stesso:

-Prova1
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</script>

<div id="ctl00_ContentPlaceHolder1_FlashAnimation1" style="width:300px;height:300px;background-color:Aqua "></div>

-Prova2
<script type="text/javascript" src="swfobject.js"></script>

<script type="text/javascript">swfobject.embedSWF("AlicePhysics.swf", "FlashAnimation1", "300", "300", "9");
</script>
<div id="FlashAnimation1" style="width:300px;height:300px;background-color:Aqua "></div>
Strano comportamento!
3.166 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

il metodo embedSWF accetta come secondo parametro l'id del div in cui mettere il flash. sicuramente hai messo il div come runat="server" quindi la masterpage giustamente cambia l'id a runtime. se hai necessita di avere il div come runat="server" allora puoi fare

swfobject.embedSWF("AlicePhysics.swf", "<%=FlashAnimation1.ClientID%>", "300", "300", "9");

altrimenti ti basta togliere il runat="server" dal div.

per quanto riguarda firefox5, beh...... siamo ancora alla 3 la 5 nemmeno esiste, quindi stai parlando di un altro browser imagino

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
64 messaggi dal 09 gennaio 2006
Ciao Stefano!
Risolto magnificamente. Grazie tante.
Federico
PS-Un'ultima cosa. Mi pare che lo script swfobject.js debba essere inserito nella stessa directory della pagina ove si vuol mettere l'animazione. Cio' significa che se ho n animazioni in altrettante pagine che si trovano in n directory distinte, devo inserire n volte lo stesso script swfobject.js. C'e' un modo per ovviare a questa multiplazione?
Modificato da nodar10 il 06 gennaio 2009 12.09 -
3.166 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

ti basta nel tag script mettere il riferimento a dove si trova il js rispetto alla pagina

ad esempio <SCRIPT src="../swfobject.js" type=text/javascript></SCRIPT> cerca il file nella directory padre di quella in cui si trova la pagina.
HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.