如何通过滑动检测来构建触摸手势?

时间:2019-07-23 12:05:00

标签: javascript npm electron

我想创建触摸手势,例如在Chromium中为我的Electron应用创建手势。它应该做两件简单的事情:向左滑动时加载下一页,向右滑动时加载上一页。

我找到了这个npm软件包https://www.npmjs.com/package/swipe-detect,它似乎可以做到。它需要一个TARGET_DOMAIN_NODE(我猜是屏幕)和一个CALLBACK,我想这是调用滑动功能和滑动长度阈值的功能。

我想使用

import swipeDetect from 'swipe-detect';

在main.js中,但是出现意外的标识符错误。所以我想我必须写

const swipeDetect = require ('swipe-detect');

与其他软件包一样。

swipeDetect向左,向右,向上或向下输出,所以我编写了这个简单的函数并将其放在main.js的顶部

function swipeHandler (direction) {
  if(direction == 'left') {
    parent.document.getElementById(1).contentWindow.history.forward();
  }

  if(direction == 'right') {
    parent.document.getElementById(1).contentWindow.history.back();
  }
}

然后输入我的swipeDetect

swipeDetect(electron.screen.getPrimaryDisplay(), swipeHandler(), 150);

但是我得到了

export default function(target, callback, threshold=150) {
^^^^^^

SyntaxError: Unexpected token export
    at Module._compile (internal/modules/cjs/loader.js:752:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:820:10)
    at Module.load (internal/modules/cjs/loader.js:677:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:609:12)
    at Function.Module._load (internal/modules/cjs/loader.js:601:3)
    at Module.require (internal/modules/cjs/loader.js:715:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at Object.<anonymous> (C:\folder\main.js:17:21)
    at Module._compile (internal/modules/cjs/loader.js:808:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:820:10)

我猜格式是错误的。已经尝试将electron.screen.getPrimaryDisplay()放入{},但这并没有任何改变。

0 个答案:

没有答案