message: Updated use translate instead of top left
diff: </transition>
  <iframe class="saladict-frame"
  v-if="isShowFrame"
  + ref="frame"
  key="saladict-frame"
  name="saladict-frame"
  frameBorder="0"
  @@ -109,14 +110,19 @@ export default {
  // these four vars are not observable, for better performance
  this.frameMouseX = mouseX
  this.frameMouseY = mouseY
  - this.pageMouseX = this.frameLeft + mouseX
  - this.pageMouseY = this.frameTop + mouseY
  + this.pageMouseX = mouseX
  + this.pageMouseY = mouseY
  + this.translateX = 0
  + this.translateY = 0
  +
  + this.$refs.frame.style.setProperty('will-change', 'transform')
  // attach dragging listeners
  document.addEventListener('mouseup', this.handleDragEnd, true)
  document.addEventListener('mousemove', this.handlePageMousemove, true)
  },
  handleDragEnd () {
  + this.$refs.frame.style.removeProperty('will-change')
  document.removeEventListener('mouseup', this.handleDragEnd, true)
  document.removeEventListener('mousemove', this.handlePageMousemove, true)
  },
  @@ -124,17 +130,17 @@ export default {
  let offsetX = mouseX - this.frameMouseX
  let offsetY = mouseY - this.frameMouseY
  - this.frameTop += offsetY
  - this.frameLeft += offsetX
  - this.$forceUpdate()
  + this.translateY += offsetY
  + this.translateX += offsetX
  + this.$refs.frame.style.setProperty('transform', `translate(${this.translateX}px, ${this.translateY}px)`, 'important')
  this.pageMouseX += offsetX
  this.pageMouseY += offsetY
  },
  handlePageMousemove (evt) {
  - this.frameTop += evt.clientX - this.pageMouseX
  - this.frameLeft += evt.clientY - this.pageMouseY
  - this.$forceUpdate()
  + this.translateX += evt.clientX - this.pageMouseX
  + this.translateY += evt.clientY - this.pageMouseY
  + this.$refs.frame.style.setProperty('transform', `translate(${this.translateX}px, ${this.translateY}px)`, 'important')
  this.pageMouseX = evt.clientX
  this.pageMouseY = evt.clientY
  