2012-02-01 6 views
1

J'essaie de charger 2 pages différentes en fonction de l'appareil Apple que j'utilise. Je fais cela en cochant la largeur de l'appareil, puis le chargement de 1 sur 2 pages, mon code est:iOS - onload ne fonctionne pas

JavaScript:

function init() 
{ 
    if (screen.width <500) 
    { 
     window.open("home_phone.html"); 
    } 
    else if (screen.width>=500) 
    { 
     window.open("home_iPad.html"); 
    } 
} 

HTML:

<body onLoad="init();"> 
</body> 

Cela devrait essentiellement la charge jusqu'à 2 pages d'accueil dfferent. Cependant, pour une raison quelconque, il ne le fait pas. Il exécute la fonction (testé en utilisant des alertes), mais ne charge pas la page.

Je puis ensuite sur pour tester la fonction elle-même en ajoutant un lien qui fait référence à la même fonction init() et le lien a bien fonctionné.

Toutes les idées comment je peux obtenir ce pour charger sur le chargement initial de la page.

Merci.

+0

Est-il utile si vous ajoutez un contenu à l'intérieur de l'élément de corps? – evotopid

+0

J'avais ajouté un lien quelque chose comme ceci

Répondre

0

Pour moi votre code fonctionne si j'utilise window.location= au lieu de window.open().
Je ne sais pas si cela est acceptable pour vous, mais votre code doit ressembler à ceci:

<html> 
<head> 
<script type="text/javascript"> 
function init() 
{ 
    if (screen.width<500) 
    { 
     window.location = "home_phone.html"; 
    } 
    else if (screen.width>=500) 
    { 
     window.location = "home_iPad.html"; 
    } 
} 
</script> 
</head> 
<body onLoad="init();"> 

</body> 
</html> 

J'espère que cela fonctionne pour vous. (. Sinon essayez éventuellement un autre navigateur comme Firefox ou Chrome)

+0

Fonctionne un charme, Merci. –

0

Je fais ceci:

window.location.href = "URL.HTML"; 
+0

Cela fonctionne également très bien, bien qu'il semble que le .href n'est pas nécessaire. Merci pour le correctif –

Questions connexes