Просмотр исходного кода

Merge pull request #3928 from overleaf/ae-safari-error

Check for existence of elements before attaching event listeners in SafariScrollPatcher

GitOrigin-RevId: 67338581878871cf67fc050dc233da93f14753a7
Alf Eaton 5 лет назад
Родитель
Сommit
8b35db3fc1
1 измененных файлов с 8 добавлено и 7 удалено
  1. 8 7
      services/web/frontend/js/ide/SafariScrollPatcher.js

+ 8 - 7
services/web/frontend/js/ide/SafariScrollPatcher.js

@@ -76,13 +76,14 @@ export default SafariScrollPatcher = class SafariScrollPatcher {
       this.aceDiv = document.querySelector('.ace_content') // Also the editor.
 
       // Set hover-related listeners.
-      this.pdfDiv.addEventListener('mouseleave', this.handlePdfDivMouseLeave)
-      this.pdfDiv.addEventListener('mouseenter', this.handlePdfDivMouseEnter)
-      this.aceDiv.addEventListener('mouseleave', this.handleAceDivMouseLeave)
-      return this.aceDiv.addEventListener(
-        'mouseenter',
-        this.handleAceDivMouseEnter
-      )
+      if (this.pdfDiv != null) {
+        this.pdfDiv.addEventListener('mouseleave', this.handlePdfDivMouseLeave)
+        this.pdfDiv.addEventListener('mouseenter', this.handlePdfDivMouseEnter)
+      }
+      if (this.aceDiv != null) {
+        this.aceDiv.addEventListener('mouseleave', this.handleAceDivMouseLeave)
+        this.aceDiv.addEventListener('mouseenter', this.handleAceDivMouseEnter)
+      }
     }
 
     // Handler for wheel events on the PDF.