HomeDashboard/.venv/lib/python3.12/site-packages/nicegui/functions/javascript.py
2026-01-03 14:54:18 +01:00

25 lines
1.1 KiB
Python

from ..awaitable_response import AwaitableResponse
from ..context import context
def run_javascript(code: str, *, timeout: float = 1.0) -> AwaitableResponse:
"""Run JavaScript
This function runs arbitrary JavaScript code on a page that is executed in the browser.
To access a client-side Vue component or HTML element by ID,
use the JavaScript functions `getElement()` or `getHtmlElement()` (*added in version 2.9.0*).
If the function is awaited, the result of the JavaScript code is returned.
Otherwise, the JavaScript code is executed without waiting for a response.
Obviously the JavaScript code is only executed after the client is connected.
Internally, ``await client.connected()`` is called before the JavaScript code is executed (*since version 3.0.0*).
This might delay the execution of the JavaScript code and is not covered by the ``timeout`` parameter.
:param code: JavaScript code to run
:param timeout: timeout in seconds (default: 1.0)
:return: AwaitableResponse that can be awaited to get the result of the JavaScript code
"""
return context.client.run_javascript(code, timeout=timeout)