在 Java 程序中内嵌 Mozilla 浏览器
2009-11-05 00:00:00 来源:WEB开发网nsIWebBrowser webBrowser = (nsIWebBrowser)browser.getWebBrowser(); //1
if (webBrowser == null) {
System.out.println("Could not get the nsIWebBrowser from the Browser widget");
return false;
}
nsIDOMWindow window = webBrowser.getContentDOMWindow(); //2
nsIDOMDocument document = window.getDocument(); //3
nsIDOMElement list= document.getElementById("input1"); //4
list.setAttribute("value", "value after change"); //5
代码说明:
Browser 类提供了一个非常重要的方法 getWebBrowser(), 通过它,用户可以访问到 XPCOM 接口 nsIWebBrowser,nsIWebBrowser 是 XULRunner 中一个十分重要的组件,通过它,开发者可以获取浏览器的 DOM 窗口,进而获取整个 DOM 树的内容并对其进行修改。
获取浏览器 DOM 窗口。
从 DOM 窗口获取 DOM 文档。
获取 id 为 input1 的 DOM 结点。
修改 DOM 结点的属性。点击按钮后,文本框中的字符串将被改变为“ value after change ” 。
图 3. 用 JavaXPCOM 改变浏览器中 DOM 结点的内容
图片看不清楚?请点击这里查看原图(大图)。
示例 2
基于 Mozilla 的浏览器的用户偏好设置可以通过在浏览器中输入 about:config 访问到(见本文图一)。这些偏好设置可以通过编程改变。示例二展示了通过JavaXPCOM为浏览器组件设置用户代理的过程。(完整示例程序见附录)
更多精彩
赞助商链接