Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java应用程序中嵌入的便携式web浏览器?_Java_Browser - Fatal编程技术网

java应用程序中嵌入的便携式web浏览器?

java应用程序中嵌入的便携式web浏览器?,java,browser,Java,Browser,问题:将不带缓存的便携式web浏览器嵌入java应用程序?使用JavaSE。 这能做到吗?Chrome或Firefox是否支持JNI 也许是Qt?QtJambi是否允许与Webbrowser接口?据我所知,QtJambi现在由社区和LPGL维护,QtWebbrowser是否可在同一许可证中嵌入此用途?如果您谈论的是基于Java SE的应用程序,我强烈推荐swt“浏览器”组件。我自己也在基于Eclipse RCP的应用程序中使用过它,它就像一个魔咒(flash、javascript支持)检查可用的

问题:将不带缓存的便携式web浏览器嵌入java应用程序?使用JavaSE。 这能做到吗?Chrome或Firefox是否支持JNI


也许是Qt?QtJambi是否允许与Webbrowser接口?据我所知,QtJambi现在由社区和LPGL维护,QtWebbrowser是否可在同一许可证中嵌入此用途?

如果您谈论的是基于Java SE的应用程序,我强烈推荐swt“浏览器”组件。我自己也在基于Eclipse RCP的应用程序中使用过它,它就像一个魔咒(flash、javascript支持)

检查可用的文档,在过去几天中出现了以下情况:

开源浏览器是Webkit(用于Safari)和Mozilla风格的Firefox。还有Chrome,它是Google Favored Chrome的开源版本,它使用较少的javascript引擎(squirrel而不是v8),并且没有Google Chrome的多线程模块化

关于Firefox的附加信息:Mozilla Firefox基于一个名为xulrunner的应用程序,该应用程序使用xml和javascript提供Firefox的附加功能(除了“不太基本”的浏览器,例如html解析器、css呈现器和javascript解析器)。Xulrunner是浏览器的实现

Firefox实现了自己的私有xulrunner,但是另外还有一个单独安装的xulrunner

Xulrunner可用于创建基于web浏览器并支持javascript的独立应用程序。Xulrunner还用于为firefox创建插件,提供附加功能

为了将前端连接到比javascript(近年来有了突飞猛进的改进)更持久、更强大的东西,但仍然不是最强大的持续引擎,有一个名为xpcom的C库

Xulrunner使用xpcom(用C编写)公开javascript变量和解析dom,链接javascript变量,并执行其他“浏览”操作,如读取标题等。稍后将介绍Xulrunner和xpcom

如果您想要一个最新且功能强大的浏览器(HTML4或5,至少对css2的良好支持,以及一些css3,以及对javascript的可靠呈现),除了编译和嵌入这些开源浏览器之外,最好的选择是使用SWT

SWT是一个gui界面,与swing类似,只是它实现了webbrowser类型的界面,并且可以用于实现浏览器。SWT还有一些已开发的接口,可以与dom等进行交互。SWT由IBM开发并积极维护

SWT所做的是实现操作系统浏览器,并支持所有主要操作系统。好的方面是,这意味着不需要嵌入您自己的浏览器,坏的方面是,您只能使用操作系统上存在的任何浏览器/解析器,无论是哪个版本。windows os for SWT的默认行为是使用Internet Explorer

通过安装xulrunner,也可以实现像firefox这样与操作系统无关的浏览器,但这是一个额外的20mb(不是很大,但需要注意),因为firefox的最新版本不被认可

在SWT中实现firefox风格的浏览器需要javaxpcom支持和xulrunner。要获得Firefox(xulrunner 1.9.)支持的javaxpcom的最新版本,最简单的方法是下载一个名为prism的应用程序。Prism使用xulrunner作为基础来创建独立于特定URL的浏览器。有一个已知的被黑客攻击的xulrunner 1.9。这有一些问题-如果您打算下载已经从源代码编译的xulrunner 1.9.*的话,请参阅wikipedia以获取相关信息

Xulrunner与Firefox浏览器的每一个新版本一起开发。直到V1.9.*(如果我没有弄错的话,Firefox3.*)之前,有一个名为javaxpcom的函数的额外支持,该函数是一个用于将c库Xpcom的函数链接到java的接口

Firefox最初宣布,嵌入和设计自己风格的xulrunner是多么容易和简单,移植到许多不同的语言(支持C,最初支持Java、Python等)也很容易,但显然访问和添加库会带来一些开销

Xulrunner正在作为一种潜在的软件解决方案进行推广,以在与java相同的竞争环境中进行竞争,但同时也受到javascript/html应用程序的限制。在这些参数中,它起作用

自xulrunner的第2版以来,对javaxpcom的支持已经消失,因为没有活跃的代码维护者。这是一个开源的解决方案,所以有必要的技能的人可能会对此感兴趣。在撰写此答案时,Xulrunner最近已进入第6版。然而,Xpcom仍表现强劲。除其他潜在问题外,社区可能没有足够的兴趣/活动

因为javaxpcom已经被报告已经损坏,并且需要有人对代码保持兴趣;这项工作必须来自对Xulrunners xpcom有既得利益理解的人,或者至少来自了解xpcom中所做更改的人的合作。我所读到的评论表明,关于xulrunner的文档可能并不像在javaxpcom上那样详细,但我无法评估这些评论

我曾希望基本的核心功能能够简单地得到维护,从而使最近浏览器功能改进所涉及的艰苦工作保持“可嵌入”。Firefox的修订导致了新版本的扩展,这是一种与时俱进的功能

嵌入web浏览器等的非开源解决方案称为w