Ways to identify wcm mode in Javascript/Jquery

Avatar

Avatar

nehacms-0r3f0r

Avatar

nehacms-0r3f0r

nehacms-0r3f0r

16-02-2017

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

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

AnkurAhlawat

Avatar

AnkurAhlawat

AnkurAhlawat

16-02-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.

Answers (6)

Answers (6)

Avatar

Avatar

Gdubz-57m2mu

Avatar

Gdubz-57m2mu

Gdubz-57m2mu

16-02-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

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

1.0K

Correct Answer

831
Arun_Patidar
MVP

23-05-2020

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

 

Screenshot 2020-05-23 at 1.12.18 PM.png

 

 

Avatar

Avatar

nehacms-0r3f0r

Avatar

nehacms-0r3f0r

nehacms-0r3f0r

16-02-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.

Avatar

Avatar

nehacms-0r3f0r

Avatar

nehacms-0r3f0r

nehacms-0r3f0r

16-02-2017

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

Avatar

Avatar

AnkurAhlawat

Avatar

AnkurAhlawat

AnkurAhlawat

16-02-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.

Avatar

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K

Avatar

smacdonald2008

Total Posts

12.7K

Likes

1.4K

Correct Answer

2.3K
smacdonald2008

16-02-2017