JxBrowser使⽤⼼得和带中⽂翻译的⽂档分享
在被Jcef的时不时卡死折磨之后,我开始了翻译JxBrowser⽂档的旅程(⾮⼿⼯翻译)。
接触了JxBrowser后,我被它强⼤的⼒量所折服,不得不说,⽐Jcef好太多,让我直接放弃了Jcef。最重要的⼀点,它不需要JCEF那么多花⾥胡哨的编译。(⽤作个⼈项⽬确实是个不错的选择)
JxBrowser是⼀个跨平台的Java库,允许将基于Google Chromium的Web浏览器组件集成到Java Swing / AWT / JavaFX应⽤程序中。使⽤JxBrowser,您可以将轻量级Swing / JavaFX组件嵌⼊到Java应⽤程序中,以显⽰现代⽹页,⽀持最新的Web标准,如
HTML5,CSS3,JavaScript等。
这是他官⽹的描述:JxBrowser可以使⽤HTML + CSS + JavaScript构建Java桌⾯应⽤程序UI。这意味着您可以使⽤任何现代HTML5 UI ⼯具包(如easyui,bootstrap)来构建⽤户界⾯友好的Java桌⾯应⽤程序。您可以解雇Swing/AWT开发⼈员,因为HTML + CSS + JavaScript开发⼈员可以构建Java应⽤程序的GUI,它⼤⼤降低了Java项⽬开发的成本。
(Swing/AWT开发⼯程师:)
(注:以上翻译内容请⾃⾏对照⾕歌翻译,不保证其真实性)
截⽌本⽂发布⽇期,6.x最新版本是2020年3⽉16号的6.24.3。
开发⽂档⽤于写程序时查类/⽅法的⽤法,帮助⽂档⽤于⼊门、进阶、删库跑路等。建议先把帮助⽂档看⼀遍,照着例⼦写⼀遍。
开源了个⼈项⽬供⼤家参考(需添加许可证信息才能正常运⾏,许可证怎样获得?百度⼀⼤堆。JxBrowser官⽹可以申请30天试⽤),功能和PowerOfLengedJcef差不多【含 脚本管理,代码模板⽣成器,JxBrowser帮助⽂档】:
因为JxBrowser已经提供了详细的Demo,这⾥我没有像Jcef⼀样去写个Demo⼯程了。
本⽂使⽤的Jxbrowser版本是:jxbrowser-6.24.3
因为优秀,所以它并不免费,请⾃⾏想办法获取许可证。如果它能帮到你,⽽你也资⾦充裕,建议购买正版。(钱是个好东西)
优点:
视频⽹站播放视频需要7.x版本(猜测是各⼤视频⽹站弃⽤了Flash,导致6.x版本不能播放各⼤视频⽹站的视频),⽀持Java与JS交互,⽀持ajax数据监听。总之,⽜的⼀匹。
javaswing和javafx我很喜欢这种JAVA和JS交互的⽅式,例如:var st();
瑕疵:
个⼈觉得不友好的地⽅,对iframe页⾯操作不甚⽅便,使⽤开发者⼯具[Debug模式]需要连接⾕歌服务器(因为防⽕墙在,连不上),开发者⼯具很怪,操作没⾕歌浏览器的⽅便。Jcef在这两点上做的就⽐较好。
另外,经过长时间沉淀,JxBrowser会在C盘下会⽣成⼤量缓存/数据⽂件,很容易撑爆磁盘。请参照帮助⽂档 ⽂献资料(Documentation)>浏览器引擎(Browser Engine)>清除缓存(Clearing Cache) 进⾏处理
主要类介绍
先⼤概介绍⼀下常⽤的类,免得写代码的时候⼀脸懵逼(讲我⽤过的吧)。相关类具体的说明请查看开发⽂档。
Browser:浏览器主类,处理浏览器的相关操作,如执⾏JS、监听事件等等,是⼀个⾮常重要的类。当你对浏览器做⼀些设置,如监听事件、前进后退等,可查阅此类的⽂档。它位于:amdev.jxbrowser.chromium
BrowserContext:描述浏览器实例的上下⽂。提供指向将存储Chromium数据⽂件(如cookie,历史记录,缓存)的⽬录的路径,并提供对上下⽂级别功能(如NetworkService)的访问。具有相同BrowserContext的两个Browser实例将共享会话cookie和缓存⽂件。这个类我在同时启动多个应⽤时⽤到,因为各个应⽤不能共⽤同⼀个数据⽂件⽬录,所以,我⽤它为应⽤分配不同的数据⽂件⽬录。
BrowserPreferences:浏览器实例和全局库⾸选项。设置浏览器的启动参数等。⼀般在程序启动时设置,也可以使⽤Browser的setPreferences()⽅法设置
NetworkService:提供对⽹络级功能的访问。这个类很有⽤,可以⽤它实现对⽹络请求的操作。我试了下,⽤了它后程序⽐较不稳定。
JS开头的类:对JS的相关处理
官⽅Demo⾥⾯已经有了各种骚操作的⽤法,这⾥我只说些常⽤的和⼀些踩的坑。(官⽅Demo在哪?在百度云盘⾥)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论