diff --git a/src/legacy/domParserTextHtml.js b/src/legacy/domParserTextHtml.js
new file mode 100644
index 0000000000..f5a03ae442
--- /dev/null
+++ b/src/legacy/domParserTextHtml.js
@@ -0,0 +1,36 @@
+/*
+ * DOMParser HTML extension
+ * 2019-11-13
+ *
+ * By Eli Grey, http://eligrey.com
+ * Public domain.
+ * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ */
+
+/*! @source https://gist.github.com/1129031 */
+
+(function (DOMParser) {
+ 'use strict';
+
+ const DOMParser_proto = DOMParser.prototype;
+ const real_parseFromString = DOMParser_proto.parseFromString;
+
+ // Firefox/Opera/IE throw errors on unsupported types
+ try {
+ // WebKit returns null on unsupported types
+ if ((new DOMParser).parseFromString('', 'text/html')) {
+ // text/html parsing is natively supported
+ return;
+ }
+ } catch (ex) { /* noop */ }
+
+ DOMParser_proto.parseFromString = function (markup, type) {
+ if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
+ const doc = document.implementation.createHTMLDocument('');
+ doc.documentElement.innerHTML = markup;
+ return doc;
+ } else {
+ return real_parseFromString.apply(this, arguments);
+ }
+ };
+}(DOMParser));
diff --git a/src/scripts/site.js b/src/scripts/site.js
index ccfbe9d308..9a167ff5d2 100644
--- a/src/scripts/site.js
+++ b/src/scripts/site.js
@@ -29,6 +29,7 @@ import { pageClassOn, serverAddress } from './clientUtils';
import '../libraries/screensavermanager';
import './serverNotifications';
import '../components/playback/playerSelectionMenu';
+import '../legacy/domParserTextHtml';
import '../legacy/focusPreventScroll';
import '../legacy/vendorStyles';
import SyncPlay from '../components/syncPlay/core';