Browse Source

Fix IE10-11 IndexedDB

Thibaut Courouble 8 years ago
parent
commit
b31f18857d
2 changed files with 8 additions and 4 deletions
  1. 5 4
      assets/javascripts/app/db.coffee
  2. 3 0
      assets/javascripts/lib/util.coffee

+ 5 - 4
assets/javascripts/app/db.coffee

@@ -3,6 +3,7 @@ class app.DB
   VERSION = 15
 
   constructor: ->
+    @versionMultipler = if $.isIE() then 1e5 else 1e9
     @useIndexedDB = @useIndexedDB()
     @callbacks = []
 
@@ -13,12 +14,12 @@ class app.DB
 
     try
       @open = true
-      req = indexedDB.open(NAME, VERSION * 1e9 + @userVersion())
+      req = indexedDB.open(NAME, VERSION * @versionMultipler + @userVersion())
       req.onsuccess = @onOpenSuccess
       req.onerror = @onOpenError
       req.onupgradeneeded = @onUpgradeNeeded
     catch error
-      @fail 'error', error
+      @fail 'exception', error
     return
 
   onOpenSuccess: (event) =>
@@ -79,10 +80,10 @@ class app.DB
     return
 
   handleVersionMismatch: (actualVersion) ->
-    if Math.floor(actualVersion / 1e9) isnt VERSION
+    if Math.floor(actualVersion / @versionMultipler) isnt VERSION
       @fail 'version'
     else
-      @setUserVersion actualVersion - VERSION * 1e9
+      @setUserVersion actualVersion - VERSION * @versionMultipler
       @db()
     return
 

+ 3 - 0
assets/javascripts/lib/util.coffee

@@ -339,6 +339,9 @@ $.popup = (value) ->
 $.isMac = ->
   navigator.userAgent?.indexOf('Mac') >= 0
 
+$.isIE = ->
+  navigator.userAgent?.indexOf('MSIE') >= 0 || navigator.userAgent?.indexOf('rv:11.0') >= 0
+
 HIGHLIGHT_DEFAULTS =
   className: 'highlight'
   delay: 1000