summaryrefslogtreecommitdiffstats
path: root/winit/src/application.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r--winit/src/application.rs17
1 files changed, 13 insertions, 4 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs
index db0ab938..ffaaa8fb 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -137,6 +137,9 @@ where
runtime.enter(|| A::new(flags))
};
+ #[cfg(target_arch = "wasm32")]
+ let target = settings.window.platform_specific.target.clone();
+
let builder = settings.window.into_builder(
&application.title(),
event_loop.primary_monitor(),
@@ -159,10 +162,16 @@ where
let document = window.document().unwrap();
let body = document.body().unwrap();
- let _ = match body.query_selector("#iced_root").unwrap() {
- Some(e) => body
- .replace_child(&canvas, &e)
- .expect("Could not replace iced_root"),
+ let target = target.and_then(|target| {
+ body.query_selector(&format!("#{}", target))
+ .ok()
+ .unwrap_or(None)
+ });
+
+ let _ = match target {
+ Some(node) => node
+ .replace_child(&canvas, &node)
+ .expect(&format!("Could not replace #{}", node.id())),
None => body
.append_child(&canvas)
.expect("Append canvas to HTML body"),