diff options
author | Simon Ser <contact@emersion.fr> | 2020-01-08 12:38:09 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-01-20 16:20:15 +0100 |
commit | d745f98bb7e77e9a1841ca9f5b7c9a6046c3b794 (patch) | |
tree | c6bd7f4db58a8294c9bf71d286d0979ebd473972 /plugins | |
parent | efaf6fd4448e6e3b70f4d3cd06bf15e89d84b590 (diff) | |
download | alps-d745f98bb7e77e9a1841ca9f5b7c9a6046c3b794.tar.gz alps-d745f98bb7e77e9a1841ca9f5b7c9a6046c3b794.zip |
Add polyfill for browsers not supporting srcdoc
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/base/public/assets/script.js | 10 | ||||
-rw-r--r-- | plugins/base/public/message.html | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/plugins/base/public/assets/script.js b/plugins/base/public/assets/script.js index 84c353e..fd7a1d5 100644 --- a/plugins/base/public/assets/script.js +++ b/plugins/base/public/assets/script.js @@ -1,8 +1,18 @@ var emailFrame = document.getElementById("email-frame"); if (emailFrame) { + // Resize the frame with its content var resizeFrame = function() { emailFrame.style.height = emailFrame.contentWindow.document.documentElement.scrollHeight + "px"; }; emailFrame.addEventListener("load", resizeFrame); emailFrame.contentWindow.addEventListener("resize", resizeFrame); + + // Polyfill in case the srcdoc attribute isn't supported + if (!emailFrame.srcdoc) { + var srcdoc = emailFrame.getAttribute("srcdoc"); + var doc = emailFrame.contentWindow.document; + doc.open(); + doc.write(srcdoc); + doc.close(); + } } diff --git a/plugins/base/public/message.html b/plugins/base/public/message.html index 343f79e..9544d0a 100644 --- a/plugins/base/public/message.html +++ b/plugins/base/public/message.html @@ -113,7 +113,6 @@ {{if .Body}} <p><a href="{{.Message.Uid}}/reply?part={{.PartPath}}">Reply</a></p> {{if .IsHTML}} - <!-- TODO: add a src fallback --> <!-- allow-same-origin is required to resize the frame with its content --> <!-- allow-popups is required for target="_blank" links --> <iframe id="email-frame" srcdoc="{{.Body}}" sandbox="allow-same-origin allow-popups"></iframe> |