Apertura pagina in base alla versione del browser

  • Creatore Discussione Creatore Discussione zymarco
  • Data di inizio Data di inizio

zymarco

Nuovo Utente
31 Mag 2013
27
0
0
Buona sera a tutti,

ho la necessità di creare una pagina index che controlli la versione del browser e di conseguenza apri pagina1.html o pagina2.html in base alla versione trovata (questo perchè ho 2 itroduzioni fatte in flash una compatibile con explorer v4 ed android 2.3 ed una compatibile con exlporer 5 ed android 4.0 e IOS).

So che per fare questo ho la necessità di utilizzare if e navigator.appVersion o msieversion ma non so come fare in quanto sono alle prime armi.

ho scritto questo codice che naturalmente non funziona

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>


<title>Prova exporer XHTML</title>

<SCRIPT LANGUAGE="javascript">


if ( msieversion() <= 5 )

document.write ( "This is Internet Explorer 5 or later" );

else if ( msieversion() <= 4 )

document.write ( "This is Internet Explorer 4" );

else

document.write ( "This is another browser" );

</SCRIPT> 

</head>


<body>





</body>
</html>

Chiedo quindi un aiuto per scrivere il codice ( versione 4 apre google, versione 5 apre libero) ed in attesa saluto e ringrazio.

Marco
 
Sai che le intro in flash sono uno dei motivi più frequenti per il quale un visitatore abbandona un sito? E che su iOS e Android 4+ non c'è neanche Flash?

Tra l'altro la percentuale di utenti con Internet Explorer 4 è inferiore allo 0,01%.

Comunque fai una cosa tipo:

Codice:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
$(document).ready( function() {
	var os = navigator.platform;
	if(($.browser.version < 5 && $.browser.msie) || (os.indexOf("Android") !== -1)) { 
		window.location = "http://google.it";
	} else {
		window.location = "http://mywebexpression.com";
	}
});
</script>

Questo riconosce IE<5 e Android, devi aggiungere il controllo della versione di android, che puoi fare facendo un test su un browser android e vedendo cosa ti restituisce la variabile navigator.platform;
 
Ciao Vrasta,

ti ringrazio per l'aiuto.

Ho provato lo script che mi hai posto ma non funziona in quanto mi apre sempre la tua pagina (mywebexpression) anche se apro la pagina di prova con explorer 8.

ho provato a testare la versione del mio browser mediante navigator.appVersion e questo è quello che mi viene restituito

Browser CodeName: Mozilla

Browser Name: Microsoft Internet Explorer

Browser Version: 4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BTRS99218; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)

Cookies Enabled: true

Platform: Win32

User-agent header: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BTRS99218; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)

User-agent language: it


Perchè non carica google visto che if(($.browser.version < 5? ..... viene soddisfatta?


Grazie mille e scusami per il disturbo.

p.s.

ma il tuo sito con cosa lo hai realizzato?
 
Allora vuoi fare il detect di IExplorer 8, non 4.

Basta che cambi il 5 nel mio script con il 9 e sei a posto.

Codice:
$.browser.version < 9

L'ho fatto con Joomla il mio.
 
Ciao Vrasta,

grazie mille per l'aiuto ora funziona tutto perfettamente come volevo io.

Scusa una domanda, e qui si vede tutta la mia ignoranza in materia di web ma come detto sono alle prime armi, ma che differenza c'è tra java e javascript (questo perché ho visto che ci sono libri per programmare in java e libri per programmare in javascript) e quando si utilizza uno piuttosto che l'altro?

Ti ringrazio ancora e ti auguro una buona giornata.

Marco.
 
Java è un linguaggio orientato ad oggetti che gira solo su Java Virtual Machine, ed è un linguaggio di programmazione, puoi creare programmi desktop, applet e roba così.

Javascript è un linguaggio di scripting orientato ad oggetti che gira solo nei browser ed è usato esclusivamente per applicazioni web, serve a dare dinamicità alle pagine.

Non centrano niente l'uno con l'altro se non per la sintassi leggermente simile, comunque google è tuo amico: http://www.java.com/en/download/faq/java_javascript.xml
 
Capito,

sai indicarmi qualche testo (veramente valido ed in lingua italiana) o qualche sito per cominciare a studiare javascript?

Grazie mille.
 
Io ho imparato da Google, quando mi serve qualcosa cerco su google e vedo come si fa, e man mano imparo.

Comunque ti consiglio di studiarti direttamente jQuery che è molto più semplice
http://api.jquery.com/
 
Ciao Vrasta,

gentilmente mi puoi spiegare questo
(os.indexOf("Android") !== -1)
che non riesco a capirlo.

Grazie.
 
Con

Codice:
var os = navigator.platform;
popolo la variabile os con il nome del sistema operativo.

Con
Codice:
os.indexOf("Android") !== -1

Gli chiedo di controllare che dentro ad os ci sia la parola Android
 
Ciao Vrasta,

ho provato a modificare il codice per testare la versione di android ma come al solito non funziona

os.indexOf("Android 4.0") !== -1

Cosi non testo la versione di Android vero?

In quanto ho appena aperto la pagina di prova sia dal cellulare (android 2.3 ) che da tablet (android 4.0) e mi carica in entrambi la tua pagina, mentre il cell dovrebbe caricare google.

Grazie
 
Ciao,

guarda cosa ti stampa platform

Codice:
<script>
var os = navigator.platform;
document.write("os "+os)
</script>


Valeria.
 
scusa la mia ignoranza ma come si fa a testare gli script (è una cosa che sto cercando in rete senza trovare nulla)?
esiste una specie di compilatore, come in vba con F8, per testare gli script?
 
Ciao Vale,

ho provato lo script che mi hai girato ma su Android non funziona in quanto mi dice che il sistema operativo e Linux V7 sia sul cellulare (android 2.3) che su tablet (android 4.0)

Io invece h la necessità di distinguere android 2.3, che deve aprire google, e android 4 o superiore .

Grazie
 
Codice:
var ua = navigator.userAgent;
if( ua.indexOf("Android") >= 0 )
{
  var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8)); 
  if (androidversion < 2.3)
  {
      // do whatever
  }
}
 
Ciao Vrasta,

perchè non funziona?
dove stò sbagliando?

Codice:
<script>

var ua = navigator.userAgent;
if( ua.indexOf("Android") >= 0 )
{
  var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8)); 
  if (androidversion < 4.0) { 
		window.location = "http://google.it";
	} else {
		window.location = "http://mywebexpression.com";
	}
});
</script>


Se non ho letto male il codice nella prima parte chiedi se si tratta del sistema operativo android, mentre nella seconda parte verifichi la versione, giusto?


Android ha la versione 2.3 per i cellulari e 4.0 e successivi per i tablet, quindi con la 2.3 devo aprire google mentre con la 4 devo aprire il tuo sito.

Come fate a testare gli script? esiste un compilatore oppure ogni volta bisogna pubblicare la pagina e verificare se funziona?

Grazie.
 
Cioè ma tu ti rendi conto che stai sviluppando una cosa senza neanche sapere cosa stai facendo?

Io ho la versione 4.1.2 e non sono su tablet ma su smartphone.

E comunque come ti ho già detto, Android dalla versione 4.1.x non ha più flash di default quindi la maggior parte delle persone non vedranno neanche la tua animazione in flash (che tra l'altro avresti potuto fare in javascript).
 

Discussioni simili