当前位置: 首页 > news >正文

企业网站源码asp武汉seo技术

企业网站源码asp,武汉seo技术,林业网站源码,logo素材网站jcef中js与java相互调用,java与js相互调用,chrome与java相互调用,java与chrome相互调用、jcef与java相互调用 前提:https://blog.csdn.net/weixin_44480167/article/details/133170970(java内嵌浏览器CEF-JAVA、jcef、…

jcef中js与java相互调用,java与js相互调用,chrome与java相互调用,java与chrome相互调用、jcef与java相互调用

前提:https://blog.csdn.net/weixin_44480167/article/details/133170970(java内嵌浏览器CEF-JAVA、jcef、java chrome)

转自:https://lingkang.top/archives/jcef-zhong-js-yu-java-jiao-hu

代码如下

package top.lingkang;import me.friwi.jcefmaven.CefAppBuilder;
import me.friwi.jcefmaven.CefBuildInfo;
import me.friwi.jcefmaven.MavenCefAppHandlerAdapter;
import org.cef.CefApp;
import org.cef.CefClient;
import org.cef.browser.CefBrowser;
import org.cef.browser.CefFrame;
import org.cef.browser.CefMessageRouter;
import org.cef.callback.CefQueryCallback;
import org.cef.handler.CefMessageRouterHandlerAdapter;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;/*** @author lingkang* @created in 2023/9/22**/
public class Demo02 {public static void main(String[] args) throws Exception {CefAppBuilder builder = new CefAppBuilder();// window下不需要OSRboolean useOSR = false;builder.getCefSettings().windowless_rendering_enabled = useOSR;builder.setAppHandler(new MavenCefAppHandlerAdapter() {@Overridepublic void stateHasChanged(org.cef.CefApp.CefAppState state) {// 关闭应用时退出jvm运行if (state == CefApp.CefAppState.TERMINATED) System.exit(0);}});// 设置cef运行参数,这里为空builder.addJcefArgs(args);// 设置 cef chrome实例的目录,关键,若不设置他会默认从网络中下载,国外网络可能下载不稳定导致失败// 我的 cef chrome 位于项目的chrome目录下 C:\Users\Administrator\Desktop\project\java\demo-desktop\chromebuilder.setInstallDir(new File(System.getProperty("user.dir") + File.separator + "chrome"));// 由于是手动设置cef的chrome,我们要跳过ins检查,防止版本不一致导致从镜像站下载builder.setSkipInstallation(true);// 全局的 CefApp 每个程序只能有一个,线程安全CefApp build = builder.build();// 显示一些版本信息CefBuildInfo buildInfo = CefBuildInfo.fromClasspath();System.out.println(buildInfo);CefApp.CefVersion cefVersion = build.getVersion();System.out.println(cefVersion);// 创建一个浏览器客户端实例CefClient client = build.createClient();// 添加一个方法用于html调用它,在html中执行 window.javaQuery({...})CefMessageRouter.CefMessageRouterConfig config = new CefMessageRouter.CefMessageRouterConfig();config.jsQueryFunction = "javaQuery";// 定义方法config.jsCancelFunction = "javaQueryCancel";// 定义取消方法CefMessageRouter messageRouter = CefMessageRouter.create(config);messageRouter.addHandler(new CefMessageRouterHandlerAdapter() {@Overridepublic boolean onQuery(CefBrowser browser, CefFrame frame, long queryId, String request, boolean persistent, CefQueryCallback callback) {if ("my_call".equals(request)){// 返回影响成功的数据callback.success("get java data success!");browser.executeJavaScript("htmlFun('哈哈')",null,2);// 调用js中定义的方法// callback.failure();return true;}return false;}}, false);client.addMessageRouter(messageRouter);boolean isTransparent = true;// 透明背景// src/main/resources/index.htmlString path = Demo02.class.getResource("/index.html").getPath();// 返回的是一个 url 对象路径path=path.substring(1);// 创建一个浏览器实例CefBrowser browser = client.createBrowser(path, useOSR, isTransparent);// 获取UI组件Component uiComponent = browser.getUIComponent();// 创建 JFrame UI 用于放入chromeJFrame main = new JFrame("lingkang");main.getContentPane().add(uiComponent, BorderLayout.CENTER);main.setSize(800, 600);//大小main.setLocation(0, 0);//位置main.setVisible(true);//显示main.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {// 关闭应用时要释放资源CefApp.getInstance().dispose();main.dispose();System.exit(0);//0正常退出,1非正常退出}});}
}

src/main/resources/index.html如下

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<button onclick="callJava()">调用java的javaQuery方法</button>
<script>// JavaScript调用java中的方法function callJava(){window.javaQuery({request: 'my_call',persistent: false,onSuccess: function(response) { alert(response) },onFailure: function(error_code, error_message) {}})}// java调用JavaScript中的方法function htmlFun(v){console.log(v)}
</script>
</body>
</html>

效果
在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://www.yidumall.com/news/69196.html

相关文章:

  • 网站建设与运行的盈利收入平台代运营是什么意思
  • 制作网页中插入表格的目的一般是为了seo有名气的优化公司
  • 教育中介公司网站建设费用全国最大的关键词挖掘
  • 365元做网站seo承诺排名的公司
  • 网络代理是干嘛的优化大师平台
  • 怎样给自己的店做网站广告设计与制作
  • 网络公司做网站推广平台
  • 营销型网站建设要今天的新闻 联播最新消息
  • 企业网站怎么备案东莞网站设计排行榜
  • 宝安网站设计案例百度一下搜索引擎大全
  • 网络营销产品营销方案seo业务培训
  • 做黄金的经常看什么网站软文广告经典案例300大全
  • 福州做网站设计百度排行榜风云榜
  • 云原神官方网站正版下载seo优化工具
  • 怎样利用网站做淘宝客学推广网络营销去哪里
  • 网站做任务挣钱我有广告位怎么找客户
  • 谁做广东11彩票网站优化设计三年级上册答案
  • 现在个人都在哪个网站做外贸论坛seo网站
  • 网站建立失败的原因是360指数官网
  • 网页游戏排行榜2024晋城网站seo
  • 上海公司章程在哪里下载抖音seo软件工具
  • 关于企业网站建设的请示自己做网站制作流程
  • 专业网站有哪些平台网站 推广
  • 青岛网站建设大全网络搭建是干什么的
  • 网站域名申请什么叫百度竞价推广
  • 哪儿提供邯郸做网站谷歌浏览器手机版官网下载
  • 电子商务网站设计与开发seo点击软件手机
  • 丹东做网站的公司百度搜索优化平台
  • 微信公众号和小程序开发需要涉及深圳搜索引擎优化seo
  • 怎么做海淘网站成都网站推广哪家专业