在 AEM 中获取页面中的所有对话框
get all dialogs in page in AEM
是否有任何直接的方法来获取页面上拖动的所有组件的对话框对象。
例如:当我们加载页面时,如果页面上有文本、图像等任何组件,我可以获得对话框。请推荐?
是的,这是可能的。附加一个侦听器,用于侦听 WCM 触发的 editablesready
事件。使用 CQ.WCM
的 #getEditables()
方法获取页面上的所有可编辑项,然后获取每个可编辑项的对话框(如果存在)。
示例代码如下。
CQ.WCM.on('editablesready', function() {
var editables = CQ.WCM.getEditables();
for(var path in editables) {
var editable = editables[path];
try {
console.log(editable.getEditDialog());
//Do stuff
} catch(e) { }
}
});
是否有任何直接的方法来获取页面上拖动的所有组件的对话框对象。
例如:当我们加载页面时,如果页面上有文本、图像等任何组件,我可以获得对话框。请推荐?
是的,这是可能的。附加一个侦听器,用于侦听 WCM 触发的 editablesready
事件。使用 CQ.WCM
的 #getEditables()
方法获取页面上的所有可编辑项,然后获取每个可编辑项的对话框(如果存在)。
示例代码如下。
CQ.WCM.on('editablesready', function() {
var editables = CQ.WCM.getEditables();
for(var path in editables) {
var editable = editables[path];
try {
console.log(editable.getEditDialog());
//Do stuff
} catch(e) { }
}
});