Ние използваме jxbrowser версия 6.21 (най-нова към момента на писане).
Ако скриптът заседне в безкраен цикъл, jxbrowser просто замръзва и остава без отговор. Чаках повече от 2 минути.
Има ли някакъв начин това да се справи гладко?
Съвременните браузъри откриват това и показват наслагване на потребителя, за да спре скрипта.
SSCCE: html-файл с това съдържание:
<html>
<body>
<script>
function badLoop() {
var nextTime = new Date().getTime();
while (true) {
var now = new Date().getTime();
if (now > nextTime) {
console.log('badLoop() running: ' + now);
nextTime = now + 500;
}
}
}
</script>
<input type="button" value="startLoop" onClick="badLoop()" />
</body>
</html>
Тестове с други браузъри:
- Firefox след около 15 секунди:
При натискане на „стоп уебсайт“ Firefox просто спира скрипта, но запазва уебсайта отворен и регистрира това в конзолата:
Google Chrome (различен от firefox) всъщност напуска уеб сайта след натискане на напускане (и показва тази грешка):
Възможно ли е това с jxbrowser? Напълно автоматично или с потвърждение от потребителя?
Browser.executeJavaScriptAndReturnValue()
за стартиране на такъв скрипт? - person Anna Dolbina   schedule 13.08.2018