rsiot/components/cmp_leptos/utils/define_window_url.rs
1//! Определить URL-адрес, введенный в браузере
2//!
3//! В `Cargo.toml` прописать:
4//!
5//! ```toml
6//! web-sys = {version = "*", features = ["Location", "Window"]}
7//! ```
8
9use tracing::info;
10use url::Url;
11use web_sys::window;
12
13/// Определить URL-адрес, введенный в браузере
14///
15/// В `Cargo.toml` прописать:
16///
17/// ```toml
18/// web-sys = {version = "*", features = ["Location", "Window"]}
19/// ```
20pub fn define_window_url() -> Result<Url, String> {
21 let window = window().ok_or("Window is None")?;
22 let href = window
23 .location()
24 .href()
25 .map_err(|err| format!("{:?}", err))?;
26 let mut url = Url::parse(&href).map_err(|err| err.to_string())?;
27 url.set_path("");
28 info!("Window location: {:?}", url);
29 Ok(url)
30}