我有一个带有两个applet的JSF页面,两个applet通过javascript与JSF通信,每个applet与外部设备通信并获得编码base64的图像
<p:accordionPanel widgetVar="panel" collapsible="true" id="panelApplets">
<p:tab title="Fun 1" id="tabFun1" >
<h:panelGrid columns="2" cellpadding="10">
<div id="applet1">
<applet id="appletFun1"
codebase="../applets"
code="AppletFun1.class"
archive="Fun1.jar"
width="800"
height="540">
</applet>
</div>
<p:inputTextarea id="res_appletFun1" value="#{bean.stringFun1}" style="width:400px;height:200px;" effectDuration="400"/>
</h:panelGrid>
</p:tab>
<p:tab title="Fun2" id="tabFun2">
<h:panelGrid columns="2" cellpadding="10">
<div id="applet2">
<applet id="appletFun2"
codebase="../applets"
code="Fun2.class"
archive="Fun2.jar"
width="220"
height="300">
</applet>
</div>
<h:inputHidden id="res_appletFun2" value="#{bean.stringFun2}" />
</h:panelGrid>
</p:tab>
</p:accordionPanel>
我的问题是其中一个applet以corerct方式获得base64编码字符串,而其他applet则没有。推出不起作用的applet,我发现以下行无法让JSObject返回jso = null
JSObject jso = JSObject.getWindow(this);
两个小程序几乎完全相同。谁知道会发生什么?为什么JSObject.getWindow(this)
会返回null
?
提前致谢