       if uploader
         @onChange()
         @_uploading = true
+        $(window).on 'beforeunload', @pageChangeWarning
 
         promise = uploader.upload()
         promise.fail (failReason) =>

        promise.always =>
          @_uploading = false
          @currentUploader = null
          @onChange()
          @attemptNextUpload()


      @_queue = _.without(@_queue, firstNonErroredUpload)
      firstNonErroredUpload

    pageChangeWarning: ->
      "You currently have uploads in progress. If you leave this page, the uploads will stop."

    attemptNextUpload: ->
      @onChange()
      return if @_uploading || @_queue.length == 0
