javascript Java小程序未定义
我有一个jzebra小程序,我需要在客户端打印一些票据
以下是小程序html定义:
<applet id="jzebra" name="jzebra" code="jzebra.PrintApplet.class" archive="../../../../../../web/org.openbravo.howtos/lib/jzebra.jar"
width="10px" height="10px">
我在表单按钮中调用的function
是这样的:
function printDocument() {
var applet = document.jzebra;
var frm = document.frmMain;
var url = frm.elements["inpftpOBDir"].value;
var file ="0.txt";
var archivo = url + "/" + file;
if (applet != null) {
var printname = frm.elements["inpPrinterName"].value;
var indice = frm.inpPrinterSelected.selectedIndex;
var printselected = frm.inpPrinterSelected.options[indice].text;
alert(printname);
alert(printselected);
if(printselected == ""){
// printname = "zebra"
//alert('Default : ' + printname);
applet.findPrinter(printname);
monitorFinding();
} else {
//alert('Selected : ' + printselected);
applet.findPrinter(printname);
monitorFinding();
}
alert('File : ' + archivo);
// applet.findPrinter(printname);
applet.appendFile(archivo);
// Send characters/raw commands to printer
applet.print();
alert('The document was sent to the printer.');
}
}
我检查了控制台,发现有一个applet的定义,但是当它到达applet.findPrinter(printname)
时,就会爆炸,因为applet.findPrinter
不是一个函数
以前有人经历过这种斗争吗?我看到我的页面左上角有一个小的灰色正方形。当Ihover
在它上面时,它会显示“undefined
”
# 1 楼答案
我最终想出了一个非常复杂的解决方案,不得不使用jnlp。如果其他人发现类似问题,我会稍后发布我的代码以供参考