是否有可能有一个 Java 小程序(不是 JavaScript)在浏览器的 iFrame 中打开一个 URL?在 jQuery 中等价的东西:
$('<frame />').attr('src', 'http://example.com').attachTo('body')
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
}
}