快速业务通道

在Java程序中内嵌Mozilla浏览器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
立运行的程序:

下载平台所需的XULRunner SDK

将lib/MozillaInterfaces.jar加入你的程序的Java build path 。

在 SWT 中,如果你创建了一个基于 Mozilla 的SWT 浏览器部件,且 MozillaInterface.jar 在 classpath 中,则于 JavaXPCOM 的初始化工作会在 浏览器部件的创建过程通过反射自动完成。用户可以直接使用 JavaXPCOM 的所 有功能。

在Java程序中内嵌Mozilla浏览器(4)

时间:2010-12-15 IBM 裴娜

如下代码显示了如何使用JavaXPCOM:

示例 1

本例展示了如何通过 JavaXPCOM 编程改变浏览器文档中 DOM 结点的内容。(完整示例程序见附录)。

清单 2. 通过 JavaXPCOM 改变浏览器中 DOM 结点的内容

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为浏览器组件设置用户代理的过程。(完整示例程序见 附录)

清单 3. 通过 JavaXPCOM 为浏览器组件设置用户代理

Mozilla Mozilla = Mozilla.getInstance();  //1 nsIServiceManager serviceManager = Mozilla.getServiceManager();   //2 String contractID = "@Mozilla.org/preferences-service;1"; nsIPrefService prefService = (nsIPrefService)  serviceManager.getServiceByContractID( contractID, nsIPrefService.NS_IPREFSERVICE_IID);  //3        // Get a branch to access to the entire  preference tree   nsIPrefBranch branch = prefService.getBranch("");  //4   branch.setCharPref("network.proxy.http", "127.0.0.1");   //5   branch.setIntPref("network.proxy.http_port", 8080);   //6

代码说明:

获取 Mozilla 类的单态实例。 获取 Mozilla 的服务管理器。Mozilla 的服务管理器负责管理服务组件 ,开发者可以通过契约 ID(contract ID)向 Mozilla 请求相对应的服务。 通过用户配置管理的契约 ID “ @Mozilla.org/preferences-service;1 ”获 取配置管理服务。

在Java程序中内嵌Mozilla浏览器(5)

时间:2010-12-15 IBM 裴娜

在配置树中获取管理 proxy 的分支。

设置 ProxyIP 。

设置 Proxy 端口。

设置完成后,通过about:config链接可以查看修改过的proxy设置。

图 4. 通过 JavaXPCOM 为浏览器组件设置用户代理

使用 X

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号