diff --git a/.changes/regular-script-invoke-key-injection.md b/.changes/regular-script-invoke-key-injection.md
new file mode 100644
index 000000000..25bb64b18
--- /dev/null
+++ b/.changes/regular-script-invoke-key-injection.md
@@ -0,0 +1,6 @@
+---
+"tauri-utils": patch
+"tauri": patch
+---
+
+Inject the invoke key on regular `` tags.
diff --git a/core/tauri-utils/src/html.rs b/core/tauri-utils/src/html.rs
index 729e0202f..115fcbe60 100644
--- a/core/tauri-utils/src/html.rs
+++ b/core/tauri-utils/src/html.rs
@@ -19,29 +19,54 @@ pub fn inject_invoke_key_token(document: &mut NodeRef) {
let element = node.as_element().unwrap();
let attrs = element.attributes.borrow();
- // if the script is external (has `src`) or its type is not "module", we won't inject the token
- if attrs.get("src").is_some() || attrs.get("type") != Some("module") {
+ // if the script is external (has `src`), we won't inject the token
+ if attrs.get("src").is_some() {
continue;
}
- let replacement_node = NodeRef::new_element(
- QualName::new(None, ns!(html), "script".into()),
- element
- .attributes
- .borrow()
- .clone()
- .map
- .into_iter()
- .collect::>(),
- );
- let script = node.text_contents();
- replacement_node.append(NodeRef::new_text(format!(
- r#"
+ let replacement_node = match attrs.get("type") {
+ Some("module") | Some("application/ecmascript") => {
+ let replacement_node = NodeRef::new_element(
+ QualName::new(None, ns!(html), "script".into()),
+ element
+ .attributes
+ .borrow()
+ .clone()
+ .map
+ .into_iter()
+ .collect::>(),
+ );
+ let script = node.text_contents();
+ replacement_node.append(NodeRef::new_text(format!(
+ r#"
const __TAURI_INVOKE_KEY__ = __TAURI__INVOKE_KEY_TOKEN__;
{}
"#,
- script
- )));
+ script
+ )));
+ replacement_node
+ }
+ Some("application/javascript") | None => {
+ let replacement_node = NodeRef::new_element(
+ QualName::new(None, ns!(html), "script".into()),
+ element
+ .attributes
+ .borrow()
+ .clone()
+ .map
+ .into_iter()
+ .collect::>(),
+ );
+ let script = node.text_contents();
+ replacement_node.append(NodeRef::new_text(
+ script.replace("__TAURI_INVOKE_KEY__", "__TAURI__INVOKE_KEY_TOKEN__"),
+ ));
+ replacement_node
+ }
+ _ => {
+ continue;
+ }
+ };
node.insert_after(replacement_node);
node.detach();