mod_conversejs: Show fallback text if converse.js fails to load (thanks MattJ)
authorKim Alvefur <zash@zash.se>
Tue, 19 Mar 2019 19:43:13 +0100
changeset 3496 f59334da6df9
parent 3495 4e9d4b07e3e9
child 3497 3d4eefdd950a
mod_conversejs: Show fallback text if converse.js fails to load (thanks MattJ) This can happen if javascript is enabled but 3rd party resources are blocked, or some other error happened.
mod_conversejs/mod_conversejs.lua
--- a/mod_conversejs/mod_conversejs.lua	Sun Mar 17 17:56:54 2019 +0100
+++ b/mod_conversejs/mod_conversejs.lua	Tue Mar 19 19:43:13 2019 +0100
@@ -54,7 +54,16 @@
 </html>
 ]]):gsub("$([%w_]+)", { js_url = js_url, css_url = css_url });
 
-js_template = "converse.initialize(%s);";
+js_template = [[
+if(typeof converse == 'undefined') {
+	var div = document.createElement("div");
+	var noscript = document.getElementsByTagName("noscript")[0];
+	div.innerHTML = noscript.innerText;
+	document.body.appendChild(div);
+} else {
+	converse.initialize(%s);
+}
+]];
 
 local user_options = module:get_option("conversejs_options");