ReadonlycanWhether the web view can navigate back in history
ReadonlycanWhether the web view can navigate forward in history
ReadonlyestimatedThe estimated loading progress from 0.0 to 1.0
ReadonlyisWhether the web view is currently loading a page
ReadonlytitleThe title of the current page
ReadonlyurlThe URL of the current page, or null if no page is loaded
Enable or disable the macOS back/forward trackpad swipe gestures
Gestures are enabled by default. Pass false to disable them.
Pass false to disable back/forward swipe gestures
Self for chaining
Control whether the web page background is visible
Pass false to make the web view background transparent. Enabled (visible) by default.
Pass false to hide the web content background
Self for chaining
Execute JavaScript in the web page and deliver the result to a callback
The JavaScript method name is evalJSResult — it derives from the internal
Objective-C selector evalJS:result:.
The JavaScript expression to evaluate
Called with the result or an error message
Self for chaining
Execute JavaScript in the web page without capturing the result
The JavaScript code to execute
Self for chaining
Enable or disable the Safari Web Inspector for this web view When enabled, the web view appears in Safari → Develop menu.
Pass true to enable the Web Inspector
Self for chaining
Enable or disable link preview popovers shown on force-click
Link previews are enabled by default. Pass false to disable them.
Pass false to disable link previews
Self for chaining
Load an HTML string directly into the web view
The HTML content to display
Self for chaining
Load a URL in the web view
The URL to load (e.g. "https://apple.com")
Self for chaining
Enable or disable the trackpad pinch-to-zoom magnification gesture
The gesture is enabled by default. Pass false to disable it.
Pass false to disable pinch-to-zoom
Self for chaining
Register a callback that fires when loading state or progress changes
Called whenever isLoading, url, title, or estimatedProgress changes.
Called with current loading state
Self for chaining
Register a callback that fires when navigation to a new page completes
Called with the final URL
Self for chaining
Register a callback that controls whether navigation is allowed
Called before each navigation. Return true to allow or false to block.
Return true to allow, false to block
Self for chaining
Register a callback that fires when the page title changes
Called with the new title
Self for chaining
Configure the toolbar with a list of standard and custom items
The toolbar renders above the web view. Each element of the array is either a string
naming a standard control or a dictionary describing a custom button.
An empty array (or omitting this call) hides the toolbar.
Standard string items: "back", "forward", "reload", "url", "spacer".
Toolbar items in display order
Self for chaining
Set a custom User-Agent string for HTTP requests
The User-Agent string
Self for chaining
hs.ui.webview
A web browser element for embedding in
hs.ui.windowlayouts* Available on macOS 26.0 or later,hs.ui.webview()creates a web browser element backed by a SwiftUIWebViewandWebPage. Embed it in anyhs.ui.windowusing.webview(element)— it fills the available space and can sit alongside other elements in stacks.Because
wvis a regular JavaScript object you can keep a reference and call navigationCustom Toolbar Example
Full Example with Callbacks
Navigation Policy Example
JavaScript Evaluation Example