是否可以使用 CEP/ExtendScript/JS 检测 InDesign 中的页面变化?
Is it possible to detect the change of page in InDesign using CEP/ExtendScript/JS?
我目前正在 InDesign 上创建一个插件,我想知道是否可以检测用户是否更改了页面?
我在网络和文档中进行了搜索,发现了一些事件,但没有任何我感兴趣的。
我想过存储用户的当前页面,检测应用程序中是否有一般的点击事件(因为有几种方法可以切换页面)并检索当前页面来做类似的事情:
If (previousCurrentPage == newCurrentPage) {
alert('The user changed page !');
}
但我认为不可能处理所有页面切换技术。
所以我绝对需要检测用户的页面更改。
提前致谢!
更新
我说的换页是指 InDesign 上文档的换页。
因此,用户位于文档的第一页:
此处用户位于文档的第 3 页:
这是我希望能够通过我的插件恢复的页面更改。
你可以看看
app.activeWindow.activePage
在扩展脚本中
解决方案
为了获取页面的索引,我在 ExtendScript 中编写了这行代码:
app.activeWindow.activePage.documentOffset;
为了检测页面变化,我有一个每 700 毫秒调用一次的 setInterval() 并调用上面的代码片段。
如果上一页和当前页不一样,我进入我的条件,把我的当前页设置为上一页。
我目前正在 InDesign 上创建一个插件,我想知道是否可以检测用户是否更改了页面?
我在网络和文档中进行了搜索,发现了一些事件,但没有任何我感兴趣的。
我想过存储用户的当前页面,检测应用程序中是否有一般的点击事件(因为有几种方法可以切换页面)并检索当前页面来做类似的事情:
If (previousCurrentPage == newCurrentPage) {
alert('The user changed page !');
}
但我认为不可能处理所有页面切换技术。
所以我绝对需要检测用户的页面更改。
提前致谢!
更新
我说的换页是指 InDesign 上文档的换页。
因此,用户位于文档的第一页:
此处用户位于文档的第 3 页:
这是我希望能够通过我的插件恢复的页面更改。
你可以看看
app.activeWindow.activePage
在扩展脚本中
解决方案
为了获取页面的索引,我在 ExtendScript 中编写了这行代码:
app.activeWindow.activePage.documentOffset;
为了检测页面变化,我有一个每 700 毫秒调用一次的 setInterval() 并调用上面的代码片段。
如果上一页和当前页不一样,我进入我的条件,把我的当前页设置为上一页。