diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig index 5f55952f..945738e2 100644 --- a/src/browser/ScriptManager.zig +++ b/src/browser/ScriptManager.zig @@ -38,7 +38,7 @@ const ScriptManager = @This(); page: *Page, -// used to prevent recursive evalutaion +// used to prevent recursive evaluation is_evaluating: bool, // Only once this is true can deferred scripts be run @@ -801,7 +801,8 @@ pub const Script = struct { log.debug(.browser, "executed script", .{ .src = url, .success = success, .on_load = script_element._on_load != null }); } - defer page.tick(); + // We should run microtasks even if script execution fails. + defer page.js.runMicrotasks(); if (success) { self.executeCallback("load", script_element._on_load, page);