[英]How to call JS functions from Java Applet?
Well, this is my trouble: 好吧,这是我的麻烦:
I have an applet that controlls a magnetic stripe reader and I need to call a JS function when the MSR reads a card to catch the data and submit in a form. 我有一个控制磁条读取器的小程序,当MSR读取卡以捕获数据并以表格形式提交时,我需要调用JS函数。 The problem is the applet cannot call JS functions when it is called from a remote PC o server, but locally all the code works fine.
问题是,当从远程PC o服务器上调用applet时,applet无法调用JS函数,但是在本地所有代码都可以正常工作。 I supposed that is a issue of privileges on the browser.
我以为那是浏览器特权的问题。 This is my HTML code:
这是我的HTML代码:
<html>
<head>
<title>Applet Prueba</title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#AppletPrueba")[0].apOpenPrinter();
$("#AppletPrueba")[0].apActivaMSR();
});
function print()
{
$("#AppletPrueba")[0].apPrintCreditInfo();
}
function setTxtBox(texto)
{
$("#txtBox").val(texto);
}
</script>
</head>
<body>
<object id = "AppletPrueba"
classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width = "1"
height = "1">
<param name="code" value="applet.AppletJPos.class"/>
<param name="archive" value="SAppletJPos.jar,Sjpos11021.jar,Sjpos191.jar,SNCRJavaPOS39.jar,SNCRJavaPOSClasses.jar,Sxerces.jar"/>
<param name="scriptable" value="true"/>
<param name="mayscript" value="true"/>
<param name="param0" value="1"/>
<param name="param1" value="Tienda"/>
<param name="param2" value="XXX"/>
<param name="param3" value="RUBEN C. FLORES GARNETT"/>
<param name="param4" value="09 de Marzo de 2012"/>
<param name="param5" value="0.00"/>
<param name="param6" value="0.00"/>
<param name="param7" value="0.00"/>
<param name="param8" value="0.00"/>
<param name="param9" value="0.00"/>
<param name="param10" value="0.00"/>
<param name="param11" value="0"/>
<param name="param12" value="0.00"/>
<param name="param13" value="0.00"/>
<param name="param14" value="0.00"/>
<param name="param15" value="0.00"/>
<param name="param16" value="0.00"/>
<param name="param17" value="0.00"/>
<param name="param18" value="0.00"/>
<param name="param19" value="0.00"/>
<param name="param20" value="0.00"/>
<param name="param21" value="0.00"/>
<param name="param22" value="0.00"/>
<param name="param23" value="0.00"/>
<param name="param24" value="1"/>
</object>
<input type="button" value="Imprime Ticket" onclick="print()" />
<br/>
<input type="text" value="" id="txtBox" />
</body>
And that is the way the applet call the JS function: 这就是applet调用JS函数的方式:
AppletContext appletCtxt = getAppletContext();
... ...
appletCtxt.showDocument(new URL("javascript: setTxtBox('" + editedCardId[0] + "')"));
I really hope somebody can help me. 我真的希望有人能帮助我。
(I'm sorry if my english is bad :P) (如果我的英语不好,我很抱歉:P)
The Oracle tutorial on the matter would probably be useful. 有关此问题的Oracle教程可能会很有用。
Invoking JavaScript Code From an Applet 从小程序调用JavaScript代码
The
netscape.javascript.JSObject
class enables Java applets to retrieve a reference to JavaScript objects and interact with the web page.netscape.javascript.JSObject
类使Java applet能够检索对JavaScript对象的引用并与网页进行交互。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.