0

是否有可能有一个 Java 小程序(不是 JavaScript)在浏览器的 iFrame 中打开一个 URL?在 jQuery 中等价的东西:

$('<frame />').attr('src', 'http://example.com').attachTo('body')
4

2 回答 2

2

Java 小程序可以调用 javascript 方法。这样你就可以实现你喜欢的,这让你可以做你所要求的。

为此,您需要显式地授予小程序访问页面上的脚本的权限。例如,这可以通过将以下行添加到 applet OBJECT 标记来完成。

<PARAM NAME="MAYSCRIPT" VALUE="true">

有关如何使用旧的 APPLET 标记或新的 EMBED 标记执行此操作的示例,请参见此处:http ://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/java_js.html

之后,您可以通过 JSObject 从小程序访问脚本,如下例所示:

import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
     public void init() {
         JSObject win = JSObject.getWindow(this);
         JSObject doc = (JSObject) win.getMember("document");
         JSObject loc = (JSObject) doc.getMember("location");

         String s = (String) loc.getMember("href");  // document.location.href
         win.call("f", null);                      // Call f() in HTML page
     }
}
于 2012-05-21T19:04:41.130 回答
2

是的。

http://docs.oracle.com/javase/tutorial/deployment/applet/invokingJavaScriptFromApplet.html

于 2012-05-21T19:05:35.543 回答