それで遊んでからしばらく経ちましたが、私がやったことは次のとおりです。
のようなものを使用してください
<form>
<select onchange="location.href='mycombo://'+this.value">
<option>foo</option>
<option>bar</option>
<option>baz</option>
</select>
</form>
HTMLで。したがって、ユーザーがアイテムを選択するmycombo
と、選択された値を持つ-URIが呼び出されます。これをキャッチするには、ハンドラーをWebViewのnavigation-requested
シグナルに接続します。
self.webview.connect("navigation-requested", self.on_navigation_requested)
シグナルハンドラで、リクエストがmycombo
URI に対するものかどうかを確認します。もしそうならon_combo_selected
:
def on_navigation_requested(self, view, frame, req, data=None):
uri = req.get_uri()
scheme, path=uri.split(':', 1)
if scheme == 'mycombo':
self.on_combo_selected(path)
return True
else:
return False
WebViewを更新するにexecute_script
は、次のような関数を使用して、更新を行うJavaScriptコードを実行します。
self.webview.execute_script("document.title='Updated!';")
req
か?