2010-10-19 27 views
0

J'ai une application Struts utilisée sur les appareils de poche fonctionnant sous Windows CE 4.2/5.0.Pouvez-vous forcer le focus sur une fenêtre IE appelant à la fermeture d'une fenêtre IE enfant dans Windows CE?

Nous avions besoin de la fonctionnalité d'une autre application dans celui-ci, et la solution était de faire apparaître une fenêtre à l'autre application (en utilisant window.open()), exécutez le processus, puis fermez la fenêtre pour revenir à application originale

Normalement, nos applications se concentrent toujours sur une zone de texte spécifique après une action. Lorsque la nouvelle fenêtre se ferme, la fenêtre d'origine ne devient pas la fenêtre active, et j'ai du mal à comprendre comment activer la fenêtre et me concentrer sur la zone de texte.

Existe-t-il un moyen de contrôler quelle fenêtre devient active lors de sa fermeture et de déclencher un événement de mise au point sur le champ requis?

Merci d'avance pour votre aide.

EDIT: Dans le cas où quelqu'un vient à travers cette question, il se trouve l'accès window.opener n'est pas disponible sous Windows CE, sauf si le OEM spécialement inclus dans leur version du système d'exploitation. Voir this knowledgebase article pour plus d'informations.

Répondre

1

Vous ne savez pas à propos de Windows CE mais avec JavaScript, vous pouvez utiliser window.opener pour faire référence à la fenêtre parent dans un popup. J'ai écrit un petit exemple pour démontrer. Espérons que ce sera utile pour vous:

Enregistrer ce que le fichier parent.html:

<html> 
<head> 
<script type="text/javascript"> 
    function openPopup() { 
     window.open("child.html", "", "dependent=yes,directories=no,height=400px,width=600px,menubar=no,resizable=yes,scrollbars=yes,status=yes,title=yes,toolbar=no"); 
    } 
</script> 
</head> 
<body> 
<input type="text" name="txt" id="txtId" value="blah" /> 
<input type="button" name="btn" value="Open popup" onclick="openPopup();" /> 
</body> 
</html> 

et ce que child.html:

<html> 
<head> 
<script type="text/javascript"> 
    function goToParent() { 
     window.opener.focus(); 
     window.opener.document.getElementById("txtId").focus(); 
     window.close(); 
    } 
</script> 
</head> 
<body> 
Push the button to close this window and focus on the parent's textbox<br /> 
<input type="button" name="btn2" value="Close popup" onclick="goToParent();" /> 
</body> 
</html> 

Votre pop-up devrait se fermer et l'accent devrait être acquise par l'appel page, même si elle est en arrière-plan ou s'il y a d'autres fenêtres en haut.

+0

Merci, je vais essayer. – IronicMuffin

+0

Ça a marché, merci! – IronicMuffin

+0

A travaillé pour tout sauf Windows CE ... – IronicMuffin