2019独角兽企业重金招聘Python工程师标准>>>

为了上线之后,客户不用安装chrome (主要还是客户用IE、firefox居多),我们现在开发都是使用chrome ,为了提高客户体验度,使用了嵌入式浏览器,之前有过对比,也就是技术选型,有几种如下:

1、JDIC与DockFrame一同使用时,会出现内存地址无法访问异常
2、DJNativeSwing与SWT封装性良好,偶尔需要升级适应浏览器新版本
3、 jbrowser、 mozswing采用XUL+XPCOM 方式,对开发人员友好,可以完全实现Java版浏览器,推荐使用该类方案
4、 Webkit内核目前主流有官方、QT两种版本,官方DLL调用需要自己写JNA,风险高;如选择QTWebkit,可结合Qt Jambi AWT Bridge实现Java与QT之间通信

这几个本来是选择SWT,但是需要安装,很不好,其他不支持chrome内核,所以需要自己下载内核然后嵌入了。

上面是选型的过程,下面是如何通过chrome让JS和JAVA如何进行交互

通过hessian拿到远程链接的令牌后,客户拿着这个令牌来单点登陆了,浏览器登陆后,其实网页里面有一段特点的代码,我们主要使用C++监听那一段JS代码,如果有触发,会把信息给Java 这样就可以访问了。

https://blog.csdn.net/omonday1234/article/details/9391889?locationNum=6&fps=1

转载于:https://my.oschina.net/xiaominmin/blog/1828817

java内嵌chrome浏览器,JS和JAVA如何进行交互相关推荐

  1. java内嵌html5浏览器_在java应用程序中嵌入浏览器

    方式一:用jdic开源组件,这种方式有个缺点,不支持firefox,如果把默认浏览器设为firefox就会出错 具体代码如下: import java.awt.BorderLayout; import ...

  2. WinFrom内嵌chrome浏览器

    选中项目,右键,下拉列表里选择"管理Nuget程序包(N)"选项,打开如图: 按照步骤装上这个nuget包,装上以后你的工具箱就有这个了: 不用拖拉控件,直接代码绑定把,写在Loa ...

  3. 如何在 Google Chrome 浏览器中使用 Java?

    如何在 Google Chrome 浏览器中使用 Java? 本文适用于: 浏览器: Chrome Java 版本: 7.0, 8.0 Chrome 对 NPAPI 的支持 用于 Web 浏览器的 J ...

  4. 解决Docker容器内安装chrome浏览器无法启动bug

    前言 之前有写过一个基于Ubuntu20.04 的Docker容器的可视化Dockerfile,当时默认火狐浏览器,今天要测试一个项目就run了一个可视化容器,但是我需要用到chrome浏览器,于是乎 ...

  5. Chrome浏览器 js 关闭窗口失效解决方法

    Chrome浏览器 js 关闭窗口失效解决方法 参考文章: (1)Chrome浏览器 js 关闭窗口失效解决方法 (2)https://www.cnblogs.com/WhiteM/p/7098787 ...

  6. 安卓系统与内置Chrome浏览器

    安卓系统与内置Chrome浏览器对应的版本关系:https://blog.csdn.net/qq_33089275/article/details/98956465 安卓系统与内置Chrome浏览器对 ...

  7. java 内嵌调用_Java高级开发必会的50个性能优化的细节(珍藏版)

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. ● 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载 ...

  8. java 内嵌机制_[转] Java中public,private,final,static等概念的解读

    作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~ 访问权限修饰符 pu ...

  9. java内嵌数据库_Java嵌入式数据库-MapDB

    MapDB可以直接将Java的数据类型存储至直接内存而非JVM的堆中,也可以将数据持久化到磁盘. 与文无关 今天和大家介绍一个Java的第三方库,MapDB,它是用Kotlin写的,据说代码质量还不错 ...

最新文章

  1. Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader
  2. android在线播放音乐
  3. 010 自动技能的设计和实现
  4. 前缀表达式后缀表达式_五分钟小知识之什么是后缀表达式
  5. Java并发面试宝典,并发相关面试再也难不倒你!
  6. 福州三中 计算机竞赛,重磅快讯 | 刚刚,信息学奥赛世界金牌得主钟子谦凯旋!...
  7. 《推荐系统实践》笔记(转)
  8. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)...
  9. 内存首地址为1000h_成为顶级黑客--计算机内存基本知识(三)
  10. Mac终端打开VsCode
  11. 对话「平衡车之父」:把Solowheel带回中国
  12. 怎么用计算机打出黑人,电脑上怎么打法文
  13. VSCODE一个阴坑
  14. 高通平台的耳机检测(msm8909)
  15. Jenkins Pipeline声明式流水线
  16. VS_设置护眼背景色
  17. mui android连接蓝牙打印机打印
  18. OpenCV 找出图像中最小值最大值函数minMaxLoc的使用
  19. Redis 的info命令信息解释
  20. scratch案例——跳跃的猴子

热门文章

  1. python:json转xml
  2. 解决ceph 100.000% pgs not active
  3. 基于Qt和ffmpeg的抓屏rtsp服务(一)
  4. XCZU19EG板卡设计资料:610-基于6U VPX 的FPGA XCZU19EG存储阵列
  5. 免费开源无广告,越来越懂国人的ONLYOFFICE文档喜迎2023年首个v7.3版本更新
  6. 西南交通大学数据结构第二次实验报告
  7. Unity实现模拟仿真飞机起飞降落效果
  8. GO-输入输出函数和流程控制语句
  9. 用python的tkinter库制作仿windows看图器
  10. 【日常】爬虫学习进阶:百度翻译的秘密(2021版)