繁体   English   中英

java applet:如何从applet调用/访问网页的javascript变量?

[英]java applet: How to invoke/access javascript variable of web page from applet?

一个例子:

getAppletContext().showDocument(
  new URL("javascript:alert(document.getElementById('textbox').value);"
));

除了要提醒此文本框值之外,我还想在applet程序中将此值进一步用作字符串变量。 我怎样才能做到这一点?

针对不同方法的多种想法。 这里有一些:


将输入字段放在小程序中。 您可以通过向其添加AWT组件(或者,当使用JApplet时可以使用较新的Swing工具箱)在Applet中获取输入,而不是在HTML页面中添加<input> -tag。 尽管应该首选Swing。

当然,如果您不能更改小程序代码,则不是一种选择。


使用<param>标记。 您可以通过在<applet> -tag中使用<param> -tag来为applet提供一些初始值(例如参数),如以下示例所示,来自tag-doc

<applet code="A21" width="256" height="256" archive="toir.jar">
  <param name="img" value="test.gif">
</applet>

但是,正如我所说,这些是初始值。 如果您在小程序已经运行时对其进行了更改,则小程序本身将不会更改。

因此,如果<input> -tag中的值用于初始值,则可以使用此value (并使用JS操作value -attribute)。 如果要在运行小程序时更改值,则仅在重新启动小程序时才有效(这可能不是最好的主意)。


使用“ Java到Java的通信”。 有一个介绍JSObject类的文档。 可以在这里找到。 还有“公共DOM API”,可用于访问HTML页面的DOM结构。 听起来像您在寻找什么,但似乎有些过时了。

不错,这似乎不是标准的(就像<applet> -tag一样),因此,某些浏览器可能没有或没有完全实现对此的支持。 您必须尝试一下。

// provide a JS function to return the value of textbox
// call it to get the value..
String userInput = JOptionPane.showInputDialog(this, value, ..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM