我有一个调用 java applet 的 asp.Net 应用程序。 通过 javascript 的请求按预期工作,没有问题。然而 有一种机制可以在小程序中搜索时间间隔。 (使用设置间隔) 当触发此机制时,页面“失去”焦点。
例如,如果我将焦点放在文本字段上,并且发生调用,焦点就会离开该字段。
我试过反其道而行之,小程序调用页面,结果还是一样。
我还尝试将此控件放入 UpdatePanel 中,以尝试隔离回调,但它仍然失败。
也试过放入iframe,还是失败。
这是发出请求的代码
function initTimerDevices() {
setInterval(getDeviceStatus, 5000);
}
function getDeviceStatus(name) {
document.applet.getDeviceStatus("ASDF");
}
$(document).ready(function () {
initTimerDevices();
});
这是 ASP
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<applet name="Myapplet" code=com.xpto.applet.class
archive="applet.jar"
width="0.5" height="0.5">
</applet>
<ul id="ulDevices">
</ul>
</ContentTemplate>
</asp:UpdatePanel>
有没有办法异步调用小程序?或者不存在导致这种失去焦点的其他形式。
最佳答案
这里的一个问题是使用 ready()
功能:
..will only run once the page Document Object Model (DOM) is ready for JavaScript code to execute.
那可能需要一段时间 before:
- JVM 已加载。
- 已加载小程序 Jar 或类。
- 小程序本身已经经历了
init()
和start()
方法。
最好从小程序中启动此代码。
关于java - ASP.NET 页面调用 Java Applet 和字段失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568744/