小编Jas*_*erl的帖子

如何将对象从 Javascript (Adobe CEP) 传递给 Adob​​e ExtendScript?

我正在使用Adobe CEP(它允许开发人员为 Adob​​e CC 产品创建窗口扩展)。我的大部分代码是现代 JavaScript(该平台使用 Chromium 57、Node.js 7.7.4)。 但是,为了访问 DOM,我需要在 Adob​​e ExtendScript 中编写一些函数并从普通 JS 中执行它们。唯一的方法是使用他们提供的csInterface.evalScript(script, callback). script必须是一个字符串,在我的例子中是一个转换为字符串的函数调用。我希望能够通过 将对象传入和传出 ExtendScriptevalScript,但evalScript只接受和返回一个字符串。

目前,我将每个对象属性作为它自己的参数传递。这很笨拙,但它有效。

我的第一个虽然是JSON.stringify(),但不幸的是 ExtendScript 是 ECMAScript 3 的方言,这意味着JSON.parse()支持.

我不能只是将对象参数连接到脚本函数调用中,因为这样字符串的计算结果为foo([object Object]).

我见过像eval()/uneval()或这样的函数Object.toSource(),但 Chromium 不支持这些函数。

这是一个示例,类似于我当前的方法:

函数.js (ES3/ExtendScript)

function drawCircle(x, y, name) {
    // pick a layer
    var layer = app.activeDocument.layers[0];

    var diameter = 10;
    var …
Run Code Online (Sandbox Code Playgroud)

javascript extendscript ecmascript-3

2
推荐指数
1
解决办法
1877
查看次数

Windows 10:如何修复鼠标水平滚动时卡住的问题?

我有一个鼠标在水平滚动时卡住了。

它不断模仿用户按住shift并滚动鼠标滚轮时的行为。这使得使用开始菜单和其他本地 Microsoft Store 应用程序(例如 GroupMe)变得非常困难。它还导致许多应用程序(例如 Firefox)在按下控制键时更改缩放级别。

我尝试拔下鼠标并使用鼠标键移动光标。光标下的应用程序仍然水平滚动。如果shift键被卡住,我尝试拔下/重新插入我的键盘。我查看了 Windows 屏幕键盘,看看它是否将某个shift键注册为卡住。

windows mouse scroll driver horizontal-scrolling

1
推荐指数
1
解决办法
1万
查看次数