Jelajahi Sumber

Use valid dataset string

Steven Silvester 7 tahun lalu
induk
melakukan
663baeee5f
1 mengubah file dengan 13 tambahan dan 4 penghapusan
  1. 13 4
      packages/rendermime/src/renderhelpers.ts

+ 13 - 4
packages/rendermime/src/renderhelpers.ts

@@ -53,9 +53,11 @@ namespace RenderHelpers {
       node, source, trusted, sanitizer, resolver, linkHandler, shouldTypeset
     } = options;
 
-    // Clear the content if there is no source.
+    // Clear any existing content.
+    node.textContent = '';
+
+    // Bail if there is no source.
     if (!source) {
-      node.textContent = '';
       return Promise.resolve(undefined);
     }
 
@@ -64,8 +66,15 @@ namespace RenderHelpers {
       source = sanitizer.sanitize(source);
     }
 
-    // Set the inner HTML to the source.
-    node.innerHTML = source;
+    // Add the html to the node.
+    try {
+      let range = document.createRange();
+      node.appendChild(range.createContextualFragment(source));
+    } catch (error) {
+      console.warn('Environment does not support Range ' +
+                   'createContextualFragment, falling back on innerHTML');
+      node.innerHTML = source;
+    }
 
     // Patch the urls if a resolver is available.
     let promise: Promise<void>;