Add polyfill for browsers not supporting srcdoc

This commit is contained in:
Simon Ser 2020-01-08 12:38:09 +01:00
parent efaf6fd444
commit d745f98bb7
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
2 changed files with 10 additions and 1 deletions

View file

@ -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();
}
}

View file

@ -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>