ソースを参照

Ignore more script injection errors

Thibaut Courouble 9 年 前
コミット
8340ccf8da
1 ファイル変更6 行追加1 行削除
  1. 6 1
      assets/javascripts/app/app.coffee

+ 6 - 1
assets/javascripts/app/app.coffee

@@ -56,6 +56,11 @@
           tags:
           tags:
             mode: if @DOC then 'single' else 'full'
             mode: if @DOC then 'single' else 'full'
             iframe: (window.top isnt window).toString()
             iframe: (window.top isnt window).toString()
+          shouldSendCallback: ->
+            if @isInjectionError()
+              @onInjectionError()
+              return false
+            true
           dataCallback: (data) ->
           dataCallback: (data) ->
             try
             try
               $.extend(data.user ||= {}, app.settings.settings)
               $.extend(data.user ||= {}, app.settings.settings)
@@ -215,7 +220,7 @@
   isInjectionError: ->
   isInjectionError: ->
     # Some browser extensions expect the entire web to use jQuery.
     # Some browser extensions expect the entire web to use jQuery.
     # I gave up trying to fight back.
     # I gave up trying to fight back.
-    window.$ isnt app._$ or window.$$ isnt app._$$ or window.page isnt app._page
+    window.$ isnt app._$ or window.$$ isnt app._$$ or window.page isnt app._page or typeof $.empty isnt 'function' or typeof page.show isnt 'function'
 
 
   isAppError: (error, file) ->
   isAppError: (error, file) ->
     # Ignore errors from external scripts.
     # Ignore errors from external scripts.