慕尼黑5688855
2023-08-24 10:28:44
我有一個純 HTML 文件,我想通過 JxBrowser(后端 Java)調(diào)用它。JxBrowser 允許您通過以下方式添加 JavaScript 代碼:// Java code Browser browser = new Browser(...);browser.loadURL(...);...String test = "setTimeout(function() { alert('hello'); location.reload();}, 6000)";browser.executeJavaScript(test);這段代碼確實會刷新頁面,但只會刷新一次,因為刷新 html 頁面時,JxBrowser 添加的任何內(nèi)容似乎都被清除了。在不修改html文件(或者前端)的情況下,是否可以添加一個腳本,使得這個頁面可以每6秒不斷刷新一次?我能想到的唯一其他方法是定期執(zhí)行 browser.executeJavaScript(test)。1. create a new nonblocking thread2. for every 6 seconds, call browser.executeJavaScript(test)謝謝。
2 回答

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊
為什么要從 JavaScript 重新加載網(wǎng)頁?為什么不通過 Java 代碼來實現(xiàn)呢?例如:
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);

炎炎設(shè)計
TA貢獻(xiàn)1808條經(jīng)驗 獲得超4個贊
嘗試使用 setIntraval 而不是 setTimeout:
String test = "setInterval(function() { alert('hello'); location.reload();}, 6000)"; browser.executeJavaScript(test);
這將每 6 秒(6000 毫秒)執(zhí)行一次代碼。這是 setInterval 的一個簡單示例:
setInterval(function() { console.log('refresh page') }, 6000)
添加回答
舉報
0/150
提交
取消