diff --git a/src/browser/tests/element/html/script/script.html b/src/browser/tests/element/html/script/script.html
new file mode 100644
index 00000000..7db8b5fd
--- /dev/null
+++ b/src/browser/tests/element/html/script/script.html
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/src/browser/webapi/element/html/Script.zig b/src/browser/webapi/element/html/Script.zig
index 6b1d3823..4e845b0a 100644
--- a/src/browser/webapi/element/html/Script.zig
+++ b/src/browser/webapi/element/html/Script.zig
@@ -24,6 +24,7 @@ const Page = @import("../../../Page.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const URL = @import("../../URL.zig");
const Script = @This();
@@ -45,8 +46,9 @@ pub fn asNode(self: *Script) *Node {
return self.asElement().asNode();
}
-pub fn getSrc(self: *const Script) []const u8 {
- return self._src;
+pub fn getSrc(self: *const Script, page: *Page) ![]const u8 {
+ if (self._src.len == 0) return "";
+ return try URL.resolve(page.call_arena, page.base(), self._src, .{});
}
pub fn setSrc(self: *Script, src: []const u8, page: *Page) !void {