浏览代码

HUE-7743 [frontend] Prevent js error on empty stylesheets in embedded mode

Johan Ahlen 8 年之前
父节点
当前提交
ed06952
共有 1 个文件被更改,包括 8 次插入6 次删除
  1. 8 6
      desktop/core/src/desktop/templates/hue.mako

+ 8 - 6
desktop/core/src/desktop/templates/hue.mako

@@ -94,12 +94,14 @@
   // modals, a parent container might have it set to !important which will prevent the modal from showing. This
   // redefines all .hide definitions to exclude .modal.fade
   for (var i = 0; i < document.styleSheets.length; i++) {
-    for (var j = document.styleSheets[i].cssRules.length - 1; j > 0; j--) {
-      if (document.styleSheets[i].cssRules[j].selectorText === '.hide') {
-        var originalCssText = document.styleSheets[i].cssRules[j].cssText;
-        if (originalCssText.indexOf('!important') !== -1) {
-          document.styleSheets[i].deleteRule(j);
-          document.styleSheets[i].insertRule(originalCssText.replace('.hide', '.hide:not(.modal):not(.fade)'));
+    if (document.styleSheets[i] && document.styleSheets[i].cssRules) {
+      for (var j = document.styleSheets[i].cssRules.length - 1; j > 0; j--) {
+        if (document.styleSheets[i] && document.styleSheets[i].cssRules[j] && document.styleSheets[i].cssRules[j].selectorText === '.hide') {
+          var originalCssText = document.styleSheets[i].cssRules[j].cssText;
+          if (originalCssText.indexOf('!important') !== -1) {
+            document.styleSheets[i].deleteRule(j);
+            document.styleSheets[i].insertRule(originalCssText.replace('.hide', '.hide:not(.modal):not(.fade)'));
+          }
         }
       }
     }