tra Javascript e Flash

merovingio92

Nuovo Utente
17 Ago 2013
10
0
0
Ciao a tutti, sono nuovo nel forum e questa è la prima volta che scrivo.
Arrivo subito al dunque. Ho una pagina con un menu in animazione con Flash; questo funziona bene. Ma come saprete il Flash non funziona su molti dispositivi mobile, quindi ho trovato un servizio in internet che trasforma il Flash in Javascript. Anche l'animazione in Javascript funziona bene (anche su mobile).
Ho pensato di inserire all'interno della pagina un rilevatore per smartphone, così quando un dispositivo mobile visualizza la pagina parte il menu in javascript, altrimenti quello in Flash... Qui però sorge un problema: se visualizzo la pagina con il pc parte in flash, se invece provo a visualizzarlo con un dispositivo mobile non parte proprio il menu.
Credo di aver commesso come minimo qualche errore di sintassi non essendo molto esperto, comunque posto qui la pagina....

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
<link rel="icon" href="images/favicon.ico" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="KEYWORDS" content="Creazione siti web Saccolongo, CREAZIONE SITI WEB SACCOLONGO, host4people saccolongo,assistenza PC saccolongo, host4people.it,creazione siti padova,
cloud padova, assistenza computer, assistenza computer saccolongo, assistenza pc saccolongo, cloud, teleassistenza, aggiornamento navigatori padova, 
web mail" />
<meta name="google-site-verification" content="aFqXOwOct8QUXy7glV5DsKVqTrYS905gtYIPxL1orc8" />
<meta name="DESCRIPTION" content="Creazione siti, hosting e assistenza computer Padova" />
<title>Home H4P</title>
<link type="text/css" rel="stylesheet" href="style.css">
<script src="https://www.gstatic.com/swiffy/v5.2/runtime.js"></script>
<script>
      swiffyobject = {"internedStrings":["::::::","highlight_mc","gotoAndPlay",":::296i:1F","::::c2d","highlight3D_mc",//qui continua per molte altre pagine ma non ci interessa
</script>
	<script src="js/SmartphoneDetector.js"></script>
</head>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
	<script>
      if(SmartphoneDetector.detectIPhone()){
	  document.innerHTML = "<table width='768' align='center'><tr><td width='760' height='290'><div id='swiffycontainer' style='width: 766px; height: 287px'></div></td><tr>";
      var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
                                   swiffyobject);
      
      stage.start();
	  }
	  if(SmartphoneDetector.detectAndroid()){
	  document.innerHTML = "<table width='768' align='center'><tr><td width='760' height='290'><div id='swiffycontainer' style='width: 766px; height: 287px'></div></td></tr>";
      var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
                                   swiffyobject);
      
      stage.start();
	  }
	  if(SmartphoneDetector.detectWindowsMobile()){
	  document.innerHTML = "<table width='768' align='center'><tr><td width='760' height='290'><div id='swiffycontainer' style='width: 766px; height: 287px'></div></td></tr>";
      var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
                                   swiffyobject);
      
      stage.start();
	  }
    </script>
	<table width="768" align="center">
	<tr>
		<td width="760" height="290"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
				   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,24"
				   width="766" height="287">
			<param name="movie" value="flash/header_v8(3).swf?button=1"> 
			<param name="quality" value="high">
			<param name="menu" value="false">
			<!--[if !IE]> <-->
			<object data="flash/header_v8(3).swf?button=1"
					width="766" height="287" type="application/x-shockwave-flash">
			 <param name="quality" value="high">
			 <param name="menu" value="false">
			 <param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
			 Sembra che il dispositivo da cui stai visualizzando il sito non sia in grado di eseguire Adobe Flash Player.
			 A breve sarà disponibile una versione Mobile del sito, nel frattempo ti consigliamo di visitare il nostro
			 sito con un PC.<br/> Se invece desideri solo entrare nel tuo control panel clicca <a href="Controlpanel.html"><strong>QUI</strong></a>
			</object>
			<!--> <![endif]-->
		   </object></td>
	</tr>
	<tr>
		<td class="content" style="padding-right:23px">
        <h2>&nbsp;</h2>
        <text align="center">
        <h1><strong><font color="#000000"> Creazione siti web e hosting</font></strong>
        <img src="images/spacer.gif" height="0" width="100">
        <font color="#000000">Assistenza PC</font></h1>
        </text>
        <div class="block_1" style="background:0;">
			<div class="left">
						<div class="right">
							<div class="bot">
								<div class="bot_left">
									<div class="bot_right" style="padding:25px 25px 30px 35px;">
										<table>
										  <tr>
											  <td><img src="images/logoH4P.png" width="383" height="275"></td>
											  <td width="213"><p>&nbsp;</p>
											    <p>&nbsp;</p>
											    <p><strong>Una società giovane e ambiziosa</strong> Host4people è un sito   che offre a chiunque la possibilità di avere un proprio sito internet.   Un'ottima pubblicità per voi o la vostra azienda! </p>
											    <p>&nbsp;</p>
											    <p><br>
										        </p>
											    <div class="hs" style="margin:5px 0 12px 0"><img src="images/spacer.gif" width="1" height="1" alt=""></div>														
									  		<div class="tar" style="margin-top:10px;"></div>
									  		<p>&nbsp;</p>
									  		<p><strong>Giovane certo ma anche seria</strong> Offriamo una soluzione   professionale per la creazione di siti ed hosting, con costi per tutte   le tasche. Inoltre se avete qualche problema con il vostro PC, di certo   non ci spaventiamo e offriamo assistenza anche per questo. </p></td>
										  </tr>
										</table>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
				<table style="height:193px; margin-top:7px;">
				  <tr>
					  <td width="7"></td>
					  <td width="201">
					  	<div class="block_2">
							<div class="top_right">
								<div class="bot_left">
									<div class="bot_right" style="padding:0 25px 23px 4px;">
										<img src="images/1_h_2.gif" style="margin-bottom:5px;" alt=""><br>
												Creiamo siti web facili ed intuitivi per tutte le esigenze. Offriamo anche servizio di host ed assistenza PC.</br>
												Contattaci subito per un preventivo gratuito!<br><br>
											
									</div>
								</div>
							</div>
						</div> </td>
					  <td width="6"></td>
					  <td width="231"><div class="block_2">
							<div class="top_right">
								<div class="bot_left">
									<div class="bot_right" style="padding:0 25px 23px 4px;">
										<img src="images/1_h_3.gif" alt=""><br>
											<div style="padding:5px 0 0 15px;">
												<strong><a href="Controlpanel.html">My control panel</a></strong><br/> Questo servizio offre al cliente la possbilità di gestire autonomamente
												lo spazio acquistato o il proprio sito web avendo quindi a disposizione un piccolo spazio per il cloud.
											</div>
									</div>
								</div>
							</div>
						</div></td>
					  <td width="6"></td>
					  <td width="231"><div class="block_2">
							<div class="top_right">
								<div class="bot_left">
									<div class="bot_right" style="padding:0 25px 23px 4px;">
										<img src="images/1_h_4.gif" style="margin-bottom:5px;" alt=""><br>
											<div style="padding-left:25px">
												Garantita ampia visibilità del sito che rimarrà sempre online e a disposizione di tutti!Il tuo dominio sta avendo difficoltà?
												Assistenza professionale assicurata, e il problema è risolto!
											</div>
									</div>
								</div>
							</div>
						</div>
						</td>
					  <td width="7"></td>
				</table><fb:like href="http://www.host4people.it/" send="true" width="450" show_faces="true"></fb:like></td>
	</tr>
	<tr>
		<td class="footer"><strong>Copyrights 2013</strong>. Host4People. All Rights Reserved.<br>
			<script type="text/javascript"><!--
google_ad_client = "ca-pub-5421239489982988";
/* H4P adsense */
google_ad_slot = "7915521350";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>			  
	</tr>
</table>
<font size="-1" color="white">tags: creazione siti web saccolongo, hosting, siti javascript,siti economici, siti veloci, host4people saccolongo </font>
<center>
<!-- Inizio Codice ShinyStat -->
<script type="text/javascript" src="http://codice.shinystat.com/cgi-bin/getcod.cgi?USER=Host4People"></script>
<noscript>
<a href="http://www.shinystat.com/it" target="_top">
<img src="http://www.shinystat.com/cgi-bin/shinystat.cgi?USER=Host4People" alt="Statistiche gratis" border="0" /></a>
</noscript>
<!-- Fine Codice ShinyStat -->
</center>
</body>
</html>

Il problema dovrebbe essere fino all'inizio del codice per il flash, quindi lasciate perdere il resto.
Ogni aiuto suggerimento o qualsiasi altra cosa è apprezzato.
Grazie.:D
 
non sono sicuro ma non credo si possa assegnare lil metodo innerHTML direttamente al document
prova ad assegnarlo ad un altro elemento
Codice:
document.getElementById('menu').innerHTML = "codice codice";
HTML:
<div id="menu"></div>
 
non sono sicuro ma non credo si possa assegnare lil metodo innerHTML direttamente al document
prova ad assegnarlo ad un altro elemento
Codice:
document.getElementById('menu').innerHTML = "codice codice";
HTML:
<div id="menu"></div>

Ok, ho fatto come mi hai detto, ma il problema rimane. Se visualizzo la pagina da un dispositivo mobile, l'animazione non parte neanche... Comunque credo che il problema sia tutto li, in quelle poche righe di javascript. In realtà credo prenda male anche il codice che scrivo dopo l'innerHTML.
Ora il codice è così:

HTML:
document.getElementById('swiffycontainer').innerHTML ="codice codice"

C'è qualcosa di grosso come una casa che mi sfugge...:confused:
 
il div con id swiffycontainer esiste nella pagina?
se la hai online posta un link
 
ad occhio metti il menu dentro una tabella
HTML:
<table width="768" align="center">
dai un id alla tabella
HTML:
<table id='menu' width="768" align="center">
e riprova
Codice:
document.getElementById('menu').innerHTML = "codice codice";
 
Ok ho fatto. Il problema rimane identico. Dentro il codice innerHTML c'è anche un <div id='swiffycontainer'>. l'ID dovrebbe esistere, ma forse innerHTML fa casino con gli ID. Grazie intanto per le dritte che mi hai già dato.
 
A chiunque ha il mio stesso problema, alla fine io ho risolto così:

invece di usare innerHTML dopo lo smartphone detector, ho usato la funzione
HTML:
location.href
, per reindirizzare l'utente con smartphone ad un'altra sezione del sito, con al posto dell'animazione in flash, quella in javascript. Ora però si è creato un altro problema dovuto al sovraccaricamento lato PC-client ma per questo apro una nuova discussione.

Spero che il topic possa aiutare qualcuno.
 

Discussioni simili