Applet JavaScript通信

时间:2013-11-16 04:06:19

标签: java javascript html applet

在我的网页上,我正在运行applet,为了警告用户对applet的某些输入,我正在使用打印错误到html页面。为了做到这一点,我使用javascript applet通信。以下是Javascript的代码:

<script type="text/javascript">
var counter=0;

function RemoveAppletErrorMessage()
{
    var AppletErrorTag=document.getElementById("AppletErrorMessages");
    if(AppletErrorTag!=null)
    {
        document.body.removeChild(AppletErrorTag);
    }
}

function updateWebPage(s)
{
    if(counter>=1) RemoveAppletErrorMessage();
    var parag=document.createElement('P');
    parag.setAttribute("id","AppletErrorMessages");
    var txt=document.createTextNode(s);
    parag.appendChild(txt);
    document.body.appendChild(parag);
    counter++;
}
</script>

这里,当使用以下代码单击JButton时,从Java applet调用Javascript函数updateWebPage(s)函数:

if(jso != null && !errorMessage.isEmpty())
try {
    jso.call("updateWebPage", new String[] {errorMessage});
    return;
}
catch (Exception ex) { ex.printStackTrace(); }

在沟通方面一切正常。但是,当第二次单击JButton时,我试图使用从UpdateWebPage调用的RemoveAppletErrorMessage()来清除错误消息。似乎每次我点击JButton时,错误消息都会附加到我不想要的网页上。我试图用.innerHTML =''清除它,它首先不起作用,所以我改变了我的策略,添加一个节点并检查节点是否存在,清除该节点并再次添加。可能出现什么问题?

2 个答案:

答案 0 :(得分:0)

我打开一个id为AppletErrorMessages的div,并在我的updateWebPage()函数中使用jQuery(例如每次都停止创建一个新段落)。

function updateWebPage(s)
{
  $("#AppletErrorMessages").html(s);
}

答案 1 :(得分:0)

可能是你在Java中附加了你的errorMessage变量吗?