为了账号安全,请及时绑定邮箱和手机立即绑定

如何注入 JavaScript 代码来定期刷新页面

如何注入 JavaScript 代码来定期刷新页面

慕尼黑5688855 2023-08-24 10:28:44
我有一个纯 HTML 文件,我想通过 JxBrowser(后端 Java)调用它。JxBrowser 允许您通过以下方式添加 JavaScript 代码:// Java code Browser browser = new Browser(...);browser.loadURL(...);...String test = "setTimeout(function() { alert('hello'); location.reload();}, 6000)";browser.executeJavaScript(test);这段代码确实会刷新页面,但只会刷新一次,因为刷新 html 页面时,JxBrowser 添加的任何内容似乎都被清除了。在不修改html文件(或者前端)的情况下,是否可以添加一个脚本,使得这个页面可以每6秒不断刷新一次?我能想到的唯一其他方法是定期执行 browser.executeJavaScript(test)。1. create a new nonblocking thread2. for every 6 seconds, call browser.executeJavaScript(test)谢谢。
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

为什么要从 JavaScript 重新加载网页?为什么不通过 Java 代码来实现呢?例如:


Browser browser = engine.newBrowser();

Navigation navigation = browser.navigation();

navigation.loadUrl("https://www.google.com");

new java.util.Timer().schedule(new TimerTask() {

    @Override

    public void run() {

        navigation.reload();

    }

}, 1_000, 60_000);


查看完整回答
反对 回复 2023-08-24
?
炎炎设计

TA贡献1808条经验 获得超4个赞

尝试使用 setIntraval 而不是 setTimeout:

String test = "setInterval(function() { alert('hello'); location.reload();}, 6000)"; 
browser.executeJavaScript(test);

这将每 6 秒(6000 毫秒)执行一次代码。这是 setInterval 的一个简单示例:


setInterval(function() { console.log('refresh page') }, 6000)


查看完整回答
反对 回复 2023-08-24
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信