2010-10-19 61 views
0

我有一個支柱被應用在運行Windows CE 4.2/5.0的手持設備中使用。你可以強制焦點調用IE窗口上對孩子的IE窗口的Windows CE中的密切?

我們需要其中一個應用程序的功能,解決方案是彈出一個窗口到另一個應用程序(使用window.open()),運行該過程,然後關閉窗口返回到原始應用程序

通常我們的應用程序始終專注於一個特定的文本框的動作之後。當新窗口關閉時,原始窗口不會成爲活動窗口,我很難搞清楚如何激活窗口並關注文本框。

是否有辦法控制哪個窗口在關閉時變爲活動狀態並在必需字段上觸發焦點事件?

在此先感謝您的幫助。

編輯:萬一有人遇到這個問題,事實證明訪問window.opener不是在Windows CE可用,除非OEM特意在自己版本的操作系統包括它。有關更多信息,請參閱this knowledgebase article

回答

1

不確定Windows CE,但使用JavaScript,您可以使用window.opener從彈出窗口中引用父窗口。我寫了一個小例子來演示。希望這將是對你有所幫助:

保存此爲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> 

,並以此爲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> 

你的彈出窗口應關閉並重點應該由主叫來獲得頁面,即使它在後臺或頂部有一些其他窗口。

+0

謝謝,我會給它一個。 – IronicMuffin 2010-10-21 16:44:59

+0

它工作,謝謝! – IronicMuffin 2010-11-23 14:01:13

+0

適用於Windows CE以外的所有應用程序... – IronicMuffin 2011-06-27 18:34:19