From ecb0568ffbcbe1514a4a2b11eb3ff18b5291c24f Mon Sep 17 00:00:00 2001 From: Tw93 Date: Sun, 9 Apr 2023 15:12:49 +0800 Subject: [PATCH] :sparkles: Support opening with window.open --- src-tauri/src/app/window.rs | 2 +- src-tauri/src/inject/{index.js => event.js} | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) rename src-tauri/src/inject/{index.js => event.js} (90%) diff --git a/src-tauri/src/app/window.rs b/src-tauri/src/app/window.rs index 0691fec..e05c726 100644 --- a/src-tauri/src/app/window.rs +++ b/src-tauri/src/app/window.rs @@ -27,7 +27,7 @@ pub fn get_window(app: &mut App, config: PakeConfig, _data_dir: PathBuf) -> Wind .fullscreen(window_config.fullscreen) .inner_size(window_config.width, window_config.height) .initialization_script(include_str!("../inject/style.js")) - .initialization_script(include_str!("../inject/index.js")) + .initialization_script(include_str!("../inject/event.js")) .initialization_script(include_str!("../inject/component.js")); #[cfg(target_os = "macos")] diff --git a/src-tauri/src/inject/index.js b/src-tauri/src/inject/event.js similarity index 90% rename from src-tauri/src/inject/index.js rename to src-tauri/src/inject/event.js index ccd4b28..e000180 100644 --- a/src-tauri/src/inject/index.js +++ b/src-tauri/src/inject/event.js @@ -137,6 +137,17 @@ document.addEventListener('DOMContentLoaded', () => { }); setDefaultZoom(); + + // Rewrite the window.open function. + const originalWindowOpen = window.open; + window.open = function (url, name, specs) { + console.log('window.open called with URL:', url); + // Call Rust code to open a browser. + invoke('open_browser', { url }); + + // Call the original window.open function to maintain its normal functionality. + return originalWindowOpen.call(window, url, name, specs); + }; }); function setDefaultZoom() {