Appearance
Fresh 🌱
Live View ​
Humans-in-the-loop can access the live view of Kernel browsers in real-time to resolve errors or take unscripted actions.
To access the live view, visit the browser_live_view_url provided when you create a Kernel browser:
typescript
import Kernel from '@onkernel/sdk';
const kernel = new Kernel();
const browser = await kernel.browsers.create();
console.log(browser.browser_live_view_url);python
from kernel import Kernel
kernel = Kernel()
browser = kernel.browsers.create()
print(browser.browser_live_view_url)Query parameters ​
The browser_live_view_url supports additional query parameters to customize the live view:
readOnly(bool): when set totrue, the view will be non-interactive.
Example:
https://api.onkernel.com/browser/live/?readOnly=trueEmbedding in an iframe ​
The live view URL can be embedded in an iframe to integrate the browser view into your own application or dashboard.
html
<iframe src={browser.browser_live_view_url}></iframe>INFO
Embedded third-party iframes like live view must have focus to receive keyboard events. On Safari, focus requires a user-initiated event , calling .focus() on the iframe element within a user-initiated event handler is recommended.
To enable clipboard sharing, add allow="autoplay; clipboard-read; clipboard-write" to the iframe element.
If your application uses a Content Security Policy (CSP), you'll need to add the following directives to allow the live view iframe and its WebSocket connection:
frame-src https://*.onkernel.com:8443;
connect-src https://*.onkernel.com:8443
wss://*.onkernel.com:8443;Kiosk mode ​
Kiosk mode provides a fullscreen live view experience without browser UI elements like the address bar and tabs. You can enable kiosk mode when creating a browser by setting the kiosk_mode parameter to true.
INFO
Kiosk mode triggers a Chromium restart, which can take several seconds. Use browser pools to access kiosk mode browsers faster.
typescript
const browser = await kernel.browsers.create({
kiosk_mode: true
});python
kernel_browser = kernel.browsers.create(
kiosk_mode=True
)URL lifetime ​
browser_live_view_url becomes invalid once the browser is deleted manually or via timeout.