如何在`webview`窗口中实现从Python调用JavaScript函数?
时间: 2024-09-09 17:07:04 浏览: 98
在WebView窗口中从Python调用JavaScript函数,通常是通过在Python代码中嵌入WebView组件,并通过该组件提供的接口与JavaScript进行交互。具体实现依赖于你使用的WebView组件和相应的Python库。以常用的Python库`webview`为例,你可以通过以下步骤实现这一功能:
1. 安装`webview`库(如果尚未安装):
```bash
pip install pywebview
```
2. 在Python中创建一个简单的WebView应用,并在其中嵌入JavaScript代码。
3. 使用`webview`提供的`evaluate_js`方法或者通过其他与JavaScript交互的API调用JavaScript函数。
下面是一个简单的示例代码:
```python
import webview
def hello_from_js():
# 这是一个在WebView中运行的JavaScript函数,用于返回一个问候语
return "Hello from JavaScript!"
# 创建WebView窗口
window = webview.create_window('My App', '<html><body><h1>Hello, World!</h1></body></html>')
# 在显示窗口前,先加载包含JavaScript的HTML内容
webview.set_html(window, f"""
<html><body>
<h1>Hello, World!</h1>
<button id="callJs">Call JavaScript</button>
<script type="text/javascript">
document.getElementById('callJs').addEventListener('click', function() {{
window.pywebview.call('hello_from_js')();
}})
</script>
</body></html>
""")
# 启动WebView
webview.start()
# 监听JavaScript调用的Python函数
def on_js_call(name):
print(f"{name} function was called from JavaScript")
webview.on_call(None, on_js_call)
# 显示窗口
webview.show()
```
在这个示例中,我们创建了一个按钮,当点击按钮时,JavaScript会调用Python中的`hello_from_js`函数。
阅读全文