diff --git a/CHANGELOG.md b/CHANGELOG.md index 729956fc3722f70f9596e8d4084c052461f8ed4a..b79c4b37a6c80bc921e2957e45a9eb7f01b20ee3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed edit mode for Safari 11. + ### Security (in case of vulnerabilities) ## [0.3.0] - 2021-02-10 diff --git a/src/core/js/webcaosdb.js b/src/core/js/webcaosdb.js index 55337a36a97d6a7ad42aadfe673e429d6d942a0a..b7ad95f4d907104210eb04771b95f03d3f41d5bd 100644 --- a/src/core/js/webcaosdb.js +++ b/src/core/js/webcaosdb.js @@ -1683,11 +1683,17 @@ function getXSLScriptClone(source) { /** * TODO */ -function injectTemplate(orig_xsl, template) { +function injectTemplate(orig_xsl, templateStr) { var xsl = getXSLScriptClone(orig_xsl); - var entry_t = xsl.createElement("xsl:template"); - xsl.firstElementChild.appendChild(entry_t); - entry_t.outerHTML = template; + // var entry_t = xsl.createElement("xsl:template"); + // xsl.firstElementChild.appendChild(entry_t); + // entry_t.outerHTML = template; // Does not work in templates in Safari 11 + // Workaround follows, remove after Safari also has the behaviour of Firefox and current WebKit + var temp = xsl.documentElement.cloneNode(false) + temp.innerHTML = templateStr; + var entry_t = temp.firstChild; + xsl.documentElement.appendChild(entry_t); + // End of workaround return xsl; }