Interface: WebFrame
Defined in: packages/sdk/src/webview-service.ts:95
A live connection to an embedded frame's content, returned by WebviewService.attach. Dispose it (or let ctx.subscriptions dispose it) when your panel unmounts.
Extends
Properties
url
readonly url: string | null;Defined in: packages/sdk/src/webview-service.ts:97
The frame's current URL, updated on every onNavigate event. null before the first load.
onNavigate
onNavigate: Event<WebviewNavigateEvent>;Defined in: packages/sdk/src/webview-service.ts:99
Subscribe to in-frame navigation — the only way to track SPA route changes and full loads alike. See WebviewNavType.
onBlocked
onBlocked: Event<void>;Defined in: packages/sdk/src/webview-service.ts:108
Fires when a navigation lands on what looks like a frame-blocked page — sites sending X-Frame-Options / frame-ancestors don't error, WebKit (and other engines) just commit an empty document at the target URL, so this is a heuristic (empty title + no body content after load), not a definitive diagnosis. Treat it as "this page probably won't work embedded — offer to open it in a browser instead."
Methods
dispose()
dispose(): void;Defined in: packages/sdk/src/types.ts:63
Returns
void
Inherited from
back()
back(): void;Defined in: packages/sdk/src/webview-service.ts:110
Navigate the frame back in its history, if possible.
Returns
void
forward()
forward(): void;Defined in: packages/sdk/src/webview-service.ts:112
Navigate the frame forward in its history, if possible.
Returns
void
reload()
reload(): void;Defined in: packages/sdk/src/webview-service.ts:114
Reload the frame's current page.
Returns
void
exec()
exec<T>(code): Promise<T>;Defined in: packages/sdk/src/webview-service.ts:123
Run JavaScript inside the frame and resolve with its result. A single expression's value is returned (e.g. "document.title", "location.href", "document.querySelectorAll('a').length") — matching how a devtools console evaluates. Multi-statement code runs but only returns a value if it ends in an explicit return-compatible form. The result must be structured-clone-safe (no DOM nodes, functions, etc.).
Type Parameters
T
T = unknown
Parameters
code
string
Returns
Promise<T>
pickElement()
pickElement(): Promise<PickedElement | null>;Defined in: packages/sdk/src/webview-service.ts:130
Enter interactive element-pick mode: the user hovers to highlight and clicks to select, or presses Escape to cancel. Resolves with the picked element, or null if cancelled. No timeout — this is inherently user-paced.
Returns
Promise<PickedElement | null>
cancelPick()
cancelPick(): void;Defined in: packages/sdk/src/webview-service.ts:137
Cancel an in-flight pickElement call — exits pick mode in the frame and resolves the pending pickElement() promise with null. A no-op if no pick is active (including if it already ended, e.g. via Escape or a click).
Returns
void
capture()
capture(): Promise<Blob>;Defined in: packages/sdk/src/webview-service.ts:139
A native PNG snapshot of the frame's current visible viewport.
Returns
Promise<Blob>
captureRect()
captureRect(rect): Promise<Blob>;Defined in: packages/sdk/src/webview-service.ts:141
A native PNG snapshot of a frame-relative sub-rect — e.g. a PickedElement.rect or a marquee selection.
Parameters
rect
Returns
Promise<Blob>
captureFullPage()
captureFullPage(): Promise<Blob>;Defined in: packages/sdk/src/webview-service.ts:143
A native PNG snapshot of the frame's entire scrollable document, stitched from scrolled captures. Scroll position is restored afterward.
Returns
Promise<Blob>