✨ 支持外跳浏览器打开
This commit is contained in:
23
src-tauri/Cargo.lock
generated
23
src-tauri/Cargo.lock
generated
@@ -62,6 +62,7 @@ dependencies = [
|
|||||||
"tauri",
|
"tauri",
|
||||||
"tauri-build",
|
"tauri-build",
|
||||||
"tauri-utils",
|
"tauri-utils",
|
||||||
|
"webbrowser",
|
||||||
"wry 0.21.1",
|
"wry 0.21.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -3267,6 +3268,22 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "webbrowser"
|
||||||
|
version = "0.8.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2a0cc7962b5aaa0dfcebaeef0161eec6edf5f4606c12e6777fd7d392f52033a5"
|
||||||
|
dependencies = [
|
||||||
|
"jni 0.20.0",
|
||||||
|
"ndk-context",
|
||||||
|
"objc",
|
||||||
|
"raw-window-handle",
|
||||||
|
"url",
|
||||||
|
"web-sys",
|
||||||
|
"widestring",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webkit2gtk"
|
name = "webkit2gtk"
|
||||||
version = "0.18.2"
|
version = "0.18.2"
|
||||||
@@ -3352,6 +3369,12 @@ dependencies = [
|
|||||||
"windows-metadata",
|
"windows-metadata",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "widestring"
|
||||||
|
version = "1.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ serde = { version = "1.0.145", features = ["derive"] }
|
|||||||
tauri = { version = "1.1.1", features = ["api-all"] }
|
tauri = { version = "1.1.1", features = ["api-all"] }
|
||||||
wry = "0.21.1"
|
wry = "0.21.1"
|
||||||
tauri-utils = "1.1.1"
|
tauri-utils = "1.1.1"
|
||||||
|
webbrowser = "0.8.2"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
# by default Tauri runs in production mode
|
# by default Tauri runs in production mode
|
||||||
|
|||||||
@@ -84,6 +84,9 @@ fn main() -> wry::Result<()> {
|
|||||||
} else {
|
} else {
|
||||||
window.set_fullscreen(Some(Fullscreen::Borderless(None)));
|
window.set_fullscreen(Some(Fullscreen::Borderless(None)));
|
||||||
}
|
}
|
||||||
|
} else if req.starts_with("open_browser"){
|
||||||
|
let href = req.replace("open_browser:", "");
|
||||||
|
webbrowser::open(&href).expect("no browser");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
// @ts-check
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {string} KeyboardKey `event.key` 的代号,
|
* @typedef {string} KeyboardKey `event.key` 的代号,
|
||||||
* 见 <https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values>
|
* 见 <https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values>
|
||||||
@@ -133,6 +131,11 @@ window.addEventListener('DOMContentLoaded', (_event) => {
|
|||||||
const href = origin.href;
|
const href = origin.href;
|
||||||
if (href) {
|
if (href) {
|
||||||
origin.target = '_self';
|
origin.target = '_self';
|
||||||
|
//额外处理下 twitter 的外跳,对于其他需要外跳的可以改这里成对应域名
|
||||||
|
if(location.host === "twitter.com" && href.indexOf("twitter.com")===-1){
|
||||||
|
e.preventDefault();
|
||||||
|
window.ipc.postMessage(`open_browser:${href}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user