Template
Improved WebKit example setup/fallback
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Example</title>
|
||||||
|
<link rel="shortcut icon" href="fave_icon.png">
|
||||||
|
<!-- <link rel="stylesheet" href="resources/css/base.css">-->
|
||||||
|
<!-- <link rel="stylesheet" href="resources/css/main.css">-->
|
||||||
|
<style>
|
||||||
|
html, body {
|
||||||
|
background-color: red;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Hello, World!</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <script src="resources/js/.js" charset="utf-8"></script>-->
|
||||||
|
<script>
|
||||||
|
function sayHelloWorld() {
|
||||||
|
console.log("Hello, World!");
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
window.webkit.messageHandlers.logger.postMessage("Hello, World!");
|
||||||
|
|
||||||
|
// const message = '{"topic": "alert", "content": "' + btoa("Hello, World!") + '"}';
|
||||||
|
// window.webkit.messageHandlers.backend.postMessage(message);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -47,7 +47,10 @@ class WebkitUI(WebKit2.WebView):
|
|||||||
|
|
||||||
def _setup_content_manager(self):
|
def _setup_content_manager(self):
|
||||||
content_manager = self.get_user_content_manager()
|
content_manager = self.get_user_content_manager()
|
||||||
content_manager.connect("script-message-received", self._process_js_message)
|
# content_manager.connect("script-message-received", self._process_js_message) # If generic no sub group target
|
||||||
|
content_manager.connect("script-message-received::logger", self._process_logger_js_message)
|
||||||
|
content_manager.connect("script-message-received::backend", self._process_backend_js_message)
|
||||||
|
content_manager.register_script_message_handler("logger")
|
||||||
content_manager.register_script_message_handler("backend")
|
content_manager.register_script_message_handler("backend")
|
||||||
|
|
||||||
def _on_tls_errors(self, webview, uri, certificate, errors):
|
def _on_tls_errors(self, webview, uri, certificate, errors):
|
||||||
@@ -63,7 +66,12 @@ class WebkitUI(WebKit2.WebView):
|
|||||||
webview.load_url(uri)
|
webview.load_url(uri)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _process_js_message(self, user_content_manager, js_result):
|
def _process_logger_js_message(self, user_content_manager, js_result):
|
||||||
|
js_value = js_result.get_js_value()
|
||||||
|
message = js_value.to_string()
|
||||||
|
logger.info(message)
|
||||||
|
|
||||||
|
def _process_backend_js_message(self, user_content_manager, js_result):
|
||||||
js_value = js_result.get_js_value()
|
js_value = js_result.get_js_value()
|
||||||
message = js_value.to_string()
|
message = js_value.to_string()
|
||||||
|
|
||||||
@@ -95,6 +103,9 @@ class WebkitUI(WebKit2.WebView):
|
|||||||
if not path:
|
if not path:
|
||||||
path = settings_manager.path_manager.get_context_path()
|
path = settings_manager.path_manager.get_context_path()
|
||||||
|
|
||||||
|
if not path:
|
||||||
|
path = str( Path(__file__).parent )
|
||||||
|
|
||||||
base_path = Path(path)
|
base_path = Path(path)
|
||||||
index_file = base_path / "index.html"
|
index_file = base_path / "index.html"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user