Ways to identify wcm mode in Javascript/Jquery | Community
Skip to main content
nehacms-0r3f0r
New Participant
February 16, 2017
Solved

Ways to identify wcm mode in Javascript/Jquery

  • February 16, 2017
  • 7 replies
  • 12496 views

Hi,

We want to fetch wcmmode value in our custom Javascript file, based on mode some condition needs to be executed. Can you please let us know ways to fetch those.

We have tried using

if(!CQ || !CQ.WCM || !(CQ.WCM.isEditMode(true) || CQ.WCM.isDesignMode(true))){}

but it says CQ is null, though CQ object was there. Any other way we are looking for.

 

Thanks,

Neha

Best answer by AnkurAhlawat-1

Hi Neha i have tried approach suggested above. I 

  1. 1) Created a file in clientlib test.js
  2. * 2) Reference it in js.txt
  3. 3) Included this clientlib in your jsp

And in test.js i have tested , i am getting all WCM object.

7 replies

arunpatidar
New Participant
May 23, 2020

In Author, WCM Mode stores in a cookie, which can be extracted using jquery

 

 

 

Arun Patidar
nehacms-0r3f0r
New Participant
February 17, 2017

Hi Ankur,

 

We are including the code snippet in client side javascript that is getting loaded at footer of page, there we are getting CQ undefined error.

AnkurAhlawat-1
AnkurAhlawat-1Accepted solution
New Participant
February 17, 2017

Hi Neha i have tried approach suggested above. I 

  1. 1) Created a file in clientlib test.js
  2. * 2) Reference it in js.txt
  3. 3) Included this clientlib in your jsp

And in test.js i have tested , i am getting all WCM object.

nehacms-0r3f0r
New Participant
February 16, 2017

We are getting CQ undefined in console, but when checked in firebug console CQ object is existing

Gdubz-57m2mu
New Participant
February 16, 2017

smacdonald2008 wrote...

See this community article -- https://edivad.wordpress.com/2013/10/23/whats-my-cq-run-mode/

 

If wordpress is blocked by anyone else's corporate proxy (like ours), here's the core of that article:

/* * EditMode.js * * Simple javascript object meant to be used within a CQ development to understand on a Javascript side which my Edit Mode is. * * USAGE: *      1) Drop the file in your clientlib *      2) Reference it in your js.txt * *      You can now use it as it will automatically create an "editmode" object *              (editmode.isEditMode())    ? "I'm Authoring"   : "" *              (editmode.isPreviewMode()) ? "I'm in Preview"  : "" *              (editmode.isDesignMode())  ? "I'm in Design"   : "" *              (editmode.isDisabled())    ? "I'm in Disabled" : "" */ function EditMode(){ this.isEditMode=function(){ return (CQ.WCM)?CQ.WCM.isEditMode(true):false; }; this.isPreviewMode=function(){ return (CQ.WCM)?CQ.WCM.isPreviewMode(true):false; }; this.isDesignMode=function(){ return (CQ.WCM)?CQ.WCM.isDesignMode(true):false; }; this.isDisabled=function(){ return (!CQ.WCM); } }; var editmode = new EditMode();

Source: https://github.com/davidegiannella/cq-misc/blob/master/EditMode.js

AnkurAhlawat-1
New Participant
February 16, 2017

Hi Neha,

See this community article- http://labs.6dglobal.com/blog/2013-04-02/what-my-cq-mode/  . The CQ.WCM object provides methods for checking the current mode, however first you need to see if the object exists.  CQ.WCM is not instantiated in publish mode, so it will return null in publish mode.

 

Are you getting null in author mode or publish.

smacdonald2008
New Participant
February 16, 2017