首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java-JavaFx WebView不能在Debian上从JS向上调用

JavaFX WebView是JavaFX框架中的一个组件,用于在Java应用程序中嵌入Web内容。它提供了一个浏览器引擎,可以加载和显示网页,并支持与JavaScript的交互。

然而,JavaFX WebView在Debian上从JS向上调用的功能存在一些限制。这是因为JavaFX WebView使用了JavaFX内部的Web引擎,而该引擎在Debian上默认使用OpenJFX,而不是Oracle JDK中的JavaFX WebKit引擎。

由于OpenJFX在Debian上的发行版本中没有包含JavaFX WebKit引擎,因此无法直接从JS向上调用。这意味着在Debian上使用JavaFX WebView时,无法直接通过WebView对象调用JavaScript函数或获取JavaScript变量的值。

解决这个问题的一种方法是使用Java与JavaScript之间的双向通信机制,例如使用Java的JSObject类与JavaScript进行交互。通过在Java代码中创建一个实现了JSObject接口的类,并将其注入到WebView中,可以实现从Java向JavaScript发送消息,并在JavaScript中处理这些消息。

另外,如果需要在Debian上使用JavaFX WebView进行更复杂的JavaScript交互,可以考虑使用其他技术栈,例如使用Java与Web服务进行通信,或者使用Java与JavaScript的跨平台框架,如Electron。

总结起来,JavaFX WebView在Debian上从JS向上调用的功能受到限制,无法直接调用JavaScript函数或获取JavaScript变量的值。可以通过Java与JavaScript之间的双向通信机制进行交互,或者考虑使用其他技术栈来实现更复杂的JavaScript交互。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WKWebView

6,WKWebView是多进程组件,这意味着会APP内存中分离内存到单独的进程中。...当用户不能在某个方向上再移动时,使用canGoBack或者canGoForward来禁用按钮。 默认情况下,Web视图会自动将出现在Web内容中的电话号码转换成电话链接。...要关闭这个默认的行为,用 WKDataDetectorTypes 设置 dataDetectorTypes 属性以包含 WKDataDetectorTypePhoneNumber 标志。...苹果JS字符串,用于OC调用JS方法。 实例方法 - goBack。导航到后退列表的后退项中。 - goForward。导航到后退列表的前进项中。 - reload。重新加载当前页面。...而iOS中的WebKit.framework,就是在WebCore、底层桥接、JSCore引擎等核心模块的基础,针对iOS平台的项目封装。

6K20

微信小程序底层机制:小程序基础库主要包括什么内容?

WAWebview 视图层基础库,提供视图层基础能力 (二)WAService 逻辑层基础库,提供逻辑层基础能力 小程序基础库采用双线程架构,一个是视图层线程,一个是逻辑层线程,两个线程协同工作,共同向上层提供了基础库能力...WeixinJSBridge 提供了视图层 JS 与 Native、视图层与逻辑层之间消息通信的机制,提供了如下几个方法: invoke JS 调用 Native API invokeCallbackHandler...小程序是多 WebView 模式,每一个 WebView 都有一个独立的 JSContext,虽然可以通过窗口通信实现数据传递,但是无法共享数据和方法。...只有能启动才会服务器检查版本。 2,当短时间内(5s)连续收到两次以上系统内存告警,会进行小程序的销毁。 微信上有一个存储空间的管理页面,在这里可以清除聊天消息和缓存数据。...清除缓存时,涉及到了小程序运行时缓存的图片等数据,但是涉及小程序的代码包,以及开发者使用本地存储存储的数据。 有人做过评测,目前如果想将小程序的代码包删除,唯一的办法就是重装微信。

2.5K10
  • hybrid.js_js交互是什么意思

    控件 3、创建WebViewDemo.html文件 4、Android通过WebView的 loadUrl方法调用 JS 代码 5、JS通过WebView 的addJavascriptInterface...方法调用 Android 代码(4.2及以上的系统才能使用) 总结: Hybrid开发—WebViewjs交互实现 一、 引言 Hybrid App(混合模式移动应用)是指介于web-app、native-app...需要调用的方法 * 被JS调用的方法必须加入@JavascriptInterface注解 * 这种方式只能在Android 4.2及以上的系统才能使用 */ @JavascriptInterface public...JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的evaluateJavascript() 对于JS调用Android代码的方法有3种: 通过WebView的addJavascriptInterface...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    10.1K30

    electron 构建跨平台桌面应用

    Electron 程序启动时,会产生两条进程,分别是主进程和渲染进程,main.js 脚本执行的环境就是主进程,负责管理和维护着渲染进程的生命周期,拥有绝大部分 node模块 的调用能力;而在 main.js...IPC 上面提到,Electron 中包含了主进程和渲染进程,事实主进程就是一个后台进程,掌控着渲染进程的创建与销毁动作,且官方提供的绝大部分模块也只能在该进程中调用。...remote 上面提到了大部分模块只能在主进程中调用,为了突破这种限制,Electron 官方还提供了 remote 模块以简化进程间的通讯。...,webview 和应用运行的是不同的进程,拥有渲染进程的权限。...这样一个PC版的微信就大功告成了,实际就是利用 webview 标签加载微信网页版的在线地址,再在main.js中调整窗体大小以适配网页版的微信,是不是很简单呢。

    3.6K110

    微信小程序面试题总结

    都是用来描述页面的结构; 都由标签、属性等构成; 标签名字不一样,且小程序标签更少,单一标签更多; 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式 WXML仅能在微信小程序开发者工具中预览...将所有的接口放在统一的js文件中并导出 在app.js中创建封装请求数据的方法 在子页面中调用封装的请求数据 或 在根目录下创建utils目录及api.js文件和apiConfig.js文件; 在appConfig.js...小程序功能分为webview和APPservice,webview主要用来展示UI,appservice用来处理业务逻辑、数据及接口调用。...优势: 容易上手,基础组件库比较全,基本不需要考虑兼容问题; 开发文档比较完善,开发社区比较活跃,支持插件式开发; 良好的用户体验:无需下载,通过搜索和扫一扫就可以打开,打开速度快,安卓可以添加到桌面...bind事件绑定不会阻止冒泡事件向上冒泡 catch事件绑定可以阻止冒泡事件向上冒泡 十四.简述wx.navigateTo(),wx.redirectTo(),wx.switchTab(),wx.navigateBack

    8K63

    WebView开源库终极方案

    使用建议 2.5 异常状态类型区分 2.6 该库流程图 03.js调用 3.1 Java调用js方法 3.2 js调用java方法 3.3 js调用时机分析 3.4 js交互原理分析 04.问题反馈...调用Android 04.WebView.loadUrl(url)流程 05.js调用时机分析 06.清除缓存数据方式有哪些 07.如何使用DeepLink 08.为什么WebView那么难搞 09....能不能在WebViewClient.onPageStarted()中注入呢?答案是不确定。经过测试,有些机型可以,有些机型不行。...7.0开始,WebView加载js方式发生了一些小改变,官方建议把js注入的时机放在页面开始加载之后。...值变量,让重新加载后的页面再次注入js 3 如果做过本地js,css等缓存,则先判断本地是否存在,若存在则加载本地,否则加载网络js 4 注入的进度阈值可以自由定制,理论10%-100%都是合理的,不过建议使用了

    3.1K30

    UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

    UIWebPaginationModeTopToBottom //将网页超出部分分页,从上向下进行翻页 UIWebPaginationModeBottomToTop //将网页超出部分分页,从下向上进行翻页...1.每当webView发送一个请求之前都会先调用这个方法,监听准备加载内容时调用,通过判断请求等参数来返回不同返回值判断是否加载该网页,是JS中执行OC代码的桥梁 - (BOOL)webView:(UIWebView... 2.开始加载时调用的方法 - (void)webViewDidStartLoad:(UIWebView *)webView; 3.网页加载完毕执行的方法,一般在里面执行JS代码(删除一些节点),相当于网页...:(UIWebView *)webView{ NSString *js = @"document.getElementsByTagName('footer')[0].remove();"; [webView...stringByEvaluatingJavaScriptFromString:js];} 补充:用JS删除,浏览器的console中调试 (1)按标签名删除 (2)按类删除 4.加载失败时调用的方法

    1.5K60

    Android 使用jQuery实现item点击显示或隐藏的特效的示例

    分析 上图中的功能在很多APP都可能用到过,例如app的帮助界面,告诉用户如何使用APP 一般的实现方式都是通过ListView来实现的,实际此类需求非常简单,完全可以用WebView加载HTML来实现...jQuery集成到网页中,如帮助页面就需要考虑在联网的情况下被访问,所以建议把jQuery放入工程中 这里使用的是发布的精简版本,直接对链接右键另存为文本 ?...将另存为的文本重命名为jquery.js,在HTML中通过以下代码将jQuery集成进来 <script src="jquery.<em>js</em>" </script 记得要根据集成的路径修改对应的引入路径 编写网页...APP都可能用到过,例如app的帮助界面,告诉用户如何使用APP。...与JavaScript互相调用 WebView的使用存在各种坑,开发中需要仔细测试并尽量避免 以上就是本文的全部内容,希望对大家的学习有所帮助。

    2.7K20

    Android 混合开发之JsBridge

    关于漏洞问题 4.2以后,WebView会禁止JS调用没有添加@JavascriptInterface方法, 解决了安全漏洞,而且很少APP兼容到4.2以前,安全问题可以忽略。...的prompt函数一定会阻塞等待10s才返回,这个设计就要求我们不能在onJsPrompt中做耗时操作,systrace中可以验证。...prompt的一个坑导致js挂掉 表现上来看,onJsPrompt必须执行完毕,prompt函数才会返回,否则js线程会一直阻塞在这里。...实际使用中确实会发生这种情况,尤其是APP中有很多线程的场景下,怀疑是这么一种场景: 第一步:js线程在执行prompt时被挂起, 第二部 :UI线程被调度,恰好销毁了Webview调用了 (webview...如果主动destroy webview,可以很大程度避免这个问题,具体Chrome的实现如何,还没分析过,这里只是根据现象推测如此。

    2.2K20

    JS Bridge 通信原理

    前言 之前介绍了移动端开发的相关技术,这一篇主要是 Hybrid 开发的 JS Bridge 通信讲起。...JS 调用 Native 通信大致有三种方法: 拦截 Scheme 弹窗拦截 注入 JS 上下文 这三种方式总体各有利弊,下面会一一介绍。...这种方式不依赖拦截,主要是通过 WebViewJS 的上下文注入对象和方法,可以让 JS 直接调用原生。...Google 随便找的一张图(侵删): ​ 编辑 添加图片注释,超过 140 字(可选) 那么客户端又如何实现回调 callback 函数的呢?...前面说过,客户端想调用 JS 方法,只能调用挂载到 window 对象上面的。 因此,这里使用了一种很巧妙的方法,实际 callback 函数依然是 JS 执行的。

    4.8K50

    【Unity 实用工具】✨| Unity 十款 浏览器相关插件 整理(web view browser)

    前言 本篇文章将会介绍一下在Unity中可以用的一些浏览器插件 有的是内嵌形式的,就是在Unity中显示浏览器的相关内容,有的则是会调用电脑本身的浏览器 插件有很多种,基本都能实现一个浏览器最基本的功能...Unity 调用 JavaScript JavaScript 调用 Unity 透明或不透明的页面背景 将 HTML + 资源嵌入游戏 3D UI/HUD 综合演示 场景菜单、警报/提示/确认/pw...第七款:3D WebView for Android 3D WebView for Android插件也是3D WebView的一种 只支持Android端,功能也是一应俱全,但是一样不能在编辑器中运行...如果有时间的话也想对本文中所有出现的插件都进行一个测试体验并发布相应的文章 其实我已经测试过很多款了,3D WebView 系列效果最好,但是官网买也确实贵,几个版本下来还要不少钱呢~ 如果真的缺哪个插件可以在网上找找资源先用着...,自己开发体验的话还是推荐官网购买,正规项目当然就不用多说啦!

    8.3K40

    WebView性能、体验分析与优化

    对于一个普通用户来讲,打开一个WebView通常会经历以下几个阶段: 交互无反馈 到达新的页面,页面白屏 页面基本框架出现,但是没有数据;页面处于loading状态 出现所需的数据 如果程序观察,WebView...二次初始化时间:在打开过WebView后,退出WebView,再重新打开WebView开始创建WebView到开始建立网络连接之间的时间。...然而,随着网速越来越快,而CPU的速度反而没有提升(PC到手机),JS的时间开销就成为问题了。那么JS的编译和解析,在当今的页面上要消耗多少时间呢?...在App的启动周期内,统一域名下的代码会被缓存编辑和初始化结果,重复调用性能较好。 所以,在移动浏览器JS的解析和执行时间并不是不可忽略的。...这个功能在PC和native中都能够实现,然而在WebView中却成了难题: 在页面滚动期间,Scroll Event触发 不仅如此,WebView在滚动期间还有各种限定: setTimeout和setInterval

    5K141

    混合开发之WebView秘笈

    作用 显示和渲染Web页面 直接使用html文件(网络或本地assets中)作布局 可和JavaScript交互调用 WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求...就必须销毁Webview //但是注意:webview调用destory时,webview仍绑定在Activity //这是由于自定义webview构建时传入了该Activity的context对象...: //LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据 //LOAD_DEFAULT: (默认)根据cache-control决定是否网络取数据。...无顺序问题 前提: webView.loadUrl("your_url"); //设置是否支持JS交互,设置页面显示不出来 webView.getSetting().setJavaScriptEnabled...(true); java调用jswebView.loadUrl("javascript:sayHello()"); 此处sayHello()就是javaScript的方法 js调用java: 在java

    2K30

    Android的webview研究

    其实 android 的 webview 跟 iphone 的 webview 差不多, iphone webview 比 android 的强大多了。...Webview 加载页面的顺序是这样的:先加载 html ,然后里面解析出 css 、 js 文件和页面上写死的图片资源进行加载,如果 webkit 的缓存里面有,就不加载。...而反过来就不一样了, js 去调 java 的方法,速度很快,基本 40-50 毫秒一次。所以尽量用 js 调用 java 方法,而不是 java 去调用 js 函数。  2....Java 调用 js 的函数,没有返回值,而 Js 调用 java 方法,可以有返回值。返回值可以是字符串,也可以是对象。如果是字符串,有个很讨厌的问题,第 3 点我会讲的。...如果是对象,这个对象会被转换为 js 的对象,直接可以访问里面的方法。但是我推荐 java 返回给 js 的是对象,除非是必须。

    1.3K10

    首个hybird商业项目踩坑总结

    html> 特别注意:JS代码调用一定要在 onPageFinished() 回调之后才能调用,否则不会调用。...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去 WebView的文件上传 当在网页里有文件上传组件时,我们惊奇的发现...的优化 WebView的addJavascriptInterface()方法的安全隐患 上面已经稍微说了一下,该方法只能在Android4.4以上安全使用,那么我们来看一下Android 系统占比,Google...Webview发生崩溃时不会导致app闪退,就像第二点说的,因为Webview是在独立进程中,如果发生崩溃,主进程还安然无事,app还在运行中,没有闪退,闪的才是健康的。...源码解决法 这个方法就是RTFSC(Read The Fucking Source Code),LeakCannary分析得出内存泄露在 org.chromium.android_webview.AwContents

    1.2K10

    objC与js通信实现--WebViewJavascriptBridge

    场景   在移动端开发中,最为流行的开发模式就是hybmid开发,在这种native和h5的杂糅下,既能在某些需求中保证足够的性能,也可以在某些列表详情的需求下采用h5的样式控制来丰富内容。...webview下的上下文中执行函数数组,最终完成objC->js的通信(调用)。   ...源码中在_queueMessage方法进行逻辑判断:若在h5页面或者js资源并未加载完毕时,在objC层webview中就调用js函数,则会把相关的操作(存储为Message格式)存储在startupMessageQueue...", message, exception) } } } })   js触发objC调用_doSend函数开始的,主要就是通过给iframe...js调用objC层注册函数   正如上节提到,在webView:shouldStartLoadWithRequest:navigationType中侦听schema格式,判断是否消息是否来自js层的函数调用

    1.5K100
    领券