有没有办法找出我们是在Touch UI中打开此页面还是在javascript中打开经典UI
就像我们在经典用户界面中找出页面是处于编辑模式还是设计模式一样。
CQ.WCM.editMode
请建议。
答案 0 :(得分:3)
如果您不限制在javascript中确定ui模式,可以采用其他方式:
如果您有组件的模型类,请检查此项 条件:
AuthoringUIMode.TOUCH.equals(AuthoringUIMode.fromRequest(getRequest()))
要从JSP检查,请使用以下代码:
Placeholder.isAuthoringUIModeTouch(slingRequest)
答案 1 :(得分:2)
您只需阅读cq-authoring-mode
的Cookie值即可。它可以是CLASSIC
或TOUCH
。
var isTouch = $.cookie('cq-authoring-mode') === 'TOUCH'
另一种方法是寻找杰出的JS对象,如Granite.UI
。将来创建对象的clientlib将附加到其他模式时(例如通过AEM修补程序或在开发过程中无意识地),这可能会很痛苦。
var isTouch = Granite.UI != null