Javascript 在QZ Print Java小程序中调用函数不会';我不能用PHP工作
我正在尝试使用Java插件从浏览器打印到票证打印机的原始打印。我已经用HTML和Javascript编写了一个测试程序,运行正常,但现在我正试图将代码转换为php脚本,以便在更大的应用程序中打印票证。每当我从应用程序调用函数时,firefox调试中就会出现这种错误。“类型错误:qz.findPrinter不是函数。” 我将原始测试程序的扩展名从.html改为.php,现在也收到了错误 java中的任何函数都以“qz”开头 以下是供参考的插件 我想这是我不知道的关于php的东西,因为它可以作为一个.html文件工作,但我已经包括了整个脚本。php是从xampp运行的 谢谢你抽出时间Javascript 在QZ Print Java小程序中调用函数不会';我不能用PHP工作,javascript,java,php,printing,applet,Javascript,Java,Php,Printing,Applet,我正在尝试使用Java插件从浏览器打印到票证打印机的原始打印。我已经用HTML和Javascript编写了一个测试程序,运行正常,但现在我正试图将代码转换为php脚本,以便在更大的应用程序中打印票证。每当我从应用程序调用函数时,firefox调试中就会出现这种错误。“类型错误:qz.findPrinter不是函数。” 我将原始测试程序的扩展名从.html改为.php,现在也收到了错误 java中的任何函数都以“qz”开头 以下是供参考的插件 我想这是我不知道的关于php的东西,因为它可以作为一
<html>
<head><title>Receipt Test</title>
<script type="text/javascript" src="js/deployJava.js"></script>
<script type="text/javascript">
deployQZ();
function deployQZ() {
var attributes = {id: "qz", code:'qz.PrintApplet.class',
archive:'qz-print.jar', width:1, height:1};
var parameters = {jnlp_href: 'qz-print_jnlp.jnlp',
cache_option:'plugin', disable_logging:'false',
initial_focus:'false'};
if (deployJava.versionCheck("1.7+") == true) {}
else if (deployJava.versionCheck("1.6+") == true) {
attributes['archive'] = 'jre6/qz-print.jar';
parameters['jnlp_href'] = 'jre6/qz-print_jnlp.jnlp';
}
deployJava.runApplet(attributes, parameters, '1.5');
}
function countSpace(product, price, section) {
var spaceNeeded = (section - product.length - price.toString().length);
var spaces = "";
for(i=0; i < spaceNeeded; i++) {
spaces += " ";
}
return (product + spaces + price);
}
function findPrinter() {
// Searches for locally installed printer with "zebra" in the name
qz.findPrinter("zebra");
// Hint: Carriage Return = \r, New Line = \n, Escape Double Quotes= \"
var ticketTime = new Date();
var singleLine = "\n------------------------------------------\n";
var doubleLine = "\n==========================================\n";
var product = ["Mirdan Tuzlama", "Suckuklu Pide" ];
var price = [8.00, 8.00];
var prodCharLength = 37;
var finCharLength = 42;
var subTotal = {name:"Subtotal", value:0};
for(i=0;i<product.length;i++) {
subTotal.value += price[i];
}
var tax = {name:"Tax", value:((20/100)*subTotal.value)};
var total = {name:"Total", value:(subTotal.value-tax.value)};
var ticketEnd = " Thank You\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
var productSec = "";
tax.value = 0 - tax.value;
for(j=0;j<product.length;j++) {
var priceloop = price[i];
productSec += (" - 1 " + countSpace(product[j], price[j],prodCharLength));
if (j<=(product.length-2)){
productSec += "\n"
}
}
qz.append("\nDate:" + ticketTime.getDate() + "/"
+ (ticketTime.getMonth()+1) + "/"
+ ticketTime.getFullYear()
+ "\nTime:" + ticketTime.getHours() + ":"
+ ticketTime.getMinutes()
+ "\nTable: B10\nTicket No:2"
//+ singleLine + " - 1 " + product1 +" 8.00\n - 1 " + product1 +" 8:00"
+ singleLine + productSec
+ doubleLine + countSpace(subTotal.name, subTotal.value,finCharLength)
+ '\n' + countSpace(tax.name, tax.value,finCharLength)
+ '\n' + countSpace(total.name, total.value,finCharLength)
+ doubleLine + ticketEnd);
qz.print();
}
</script>
<body>
<input type="button" onClick="findPrinter()" value="Print ESCP" /><br />
</body>
接收测试
展开qz();
函数deployQZ(){
var attributes={id:“qz”,代码:'qz.printpapplet.class',
存档:'qz-print.jar',宽度:1,高度:1};
var参数={jnlp_href:'qz-print_jnlp.jnlp',
缓存\u选项:'plugin',禁用\u日志记录:'false',
初始焦点:'假'};
如果(deployJava.versionCheck(“1.7+”==true){}
else if(deployJava.versionCheck(“1.6+”)==true){
属性['archive']='jre6/qz print.jar';
参数['jnlp_href']='jre6/qz-print_jnlp.jnlp';
}
runApplet(属性、参数,“1.5”);
}
函数countSpace(产品、价格、部分){
var spaceNeeded=(section-product.length-price.toString().length);
var空间=”;
对于(i=0;i
- 在QZ“Tray”1.9(桌面应用程序)中,
QZ.findPrinter(…)
被定义为一个抢占式
功能,必须包含在项目中才能公开。
如果没有包含QZ websocket.js
,则会出现此消息。
- 在QZ“Print”1.9(Java小程序)及更早版本中,
QZ.findPRinter(…)
是通过Java小程序使用Java LiveConnect调用公开的,因此这是小程序未加载的迹象。
如果小程序未正确加载,则会出现此消息。
注意:1.9能够作为桌面应用程序和Java小程序运行
弃用警告:1.9及以上版本为.QZ Tray 2.0及更高版本,API已发生显著变化。请参阅迁移指南
“TypeError:qz.findPrinter不是函数”
- 在QZ“Tray”1.9(桌面应用程序)中,
QZ.findPrinter(…)
被定义为一个抢占式
功能,必须包含在项目中才能公开。
如果没有包含QZ websocket.js
,则会出现此消息。
- 在QZ“Print”1.9(Java小程序)及更早版本中,
QZ.findPRinter(…)
是通过Java小程序使用Java LiveConnect调用公开的,因此这是小程序未加载的迹象。
如果小程序未正确加载,则会出现此消息。
注意:1.9能够作为桌面应用程序和Java小程序运行
弃用警告:1.9及以上版本为.QZ Tray 2.0及更高版本,API已发生显著变化。迁移指南为。此示例中没有任何PHP。请澄清此问题。QZ Print使用JavaScript API,JavaScript在客户端运行,而PHP在服务器上运行。将两者混合使用需要s更好地理解了这些技术,这些技术超出了软件API或使用范围。我们这里有两个php示例:这个示例中没有任何php。您能澄清一下问题吗?QZ Print使用JavaScript API,JavaScript在客户端上运行,而php在服务器上运行。混合这两个要求res可以更好地理解软件API或使用范围之外的这些技术。这里有两个php示例: