API Reference
INFO
? means that the parameter/property is optional.
run
Configures the plugin with the provided config. object.
Type
javascriptfunction(config: object): Promise<void>Details
The
configargument is required and must contain — at least — thecategoriesandlanguageproperties.Example
javascriptcc.run({ categories: { // categories here }, language: { default: 'en', translations: { en: { // modal translations here } } } });
show
Shows the consent modal.
Type
javascriptfunction(createModal?: boolean): voidDetails
If consent was previously expressed, the consent modal will not be generated; you'll have to pass the argument
trueto generate it on the fly.Example
javascriptcc.show(); // show modal (if it doesn't exist, create it) cc.show(true);
hide
Hides the consent modal.
Type
javascriptfunction(): voidExample
javascriptcc.hide();
showPreferences
Shows the preferences modal.
Type
javascriptfunction(): voidExample
javascriptcc.showPreferences();
hidePreferences
Hides the preferences modal.
Type
javascriptfunction(): voidExample
javascriptcc.hidePreferences();
acceptCategory
Accepts or rejects categories.
Type
javascriptfunction( categoriesToAccept?: string | string[], exclusions?: string[] ): voidDetails
The first argument accepts either a
stringor anarrayof strings. Special values:'all': accept all[]: empty array, accept none (reject all): empty argument, accept only the categories selected in the preferences modal
Examples
javascriptcc.acceptCategory('all'); // accept all categories cc.acceptCategory([]); // reject all (accept only categories marked as readOnly/necessary) cc.acceptCategory(); // accept currently selected categories inside the preferences modal cc.acceptCategory('analytics'); // accept only the "analytics" category cc.acceptCategory(['cat_1', 'cat_2']); // accept only these 2 categories cc.acceptCategory('all', ['analytics']); // accept all categories except the "analytics" category cc.acceptCategory('all', ['cat_1', 'cat_2']); // accept all categories except these 2
acceptedCategory
Returns true if the specified category was accepted, otherwise false.
Type
javascriptfunction(categoryName: string): booleanExamples
javascriptif(cc.acceptedCategory('analytics')){ // great } if(!cc.acceptedCategory('ads')){ // not so great }
acceptService
Accepts or rejects services.
Type
javascriptfunction( services: string | string[], category: string ): voidDetails
Special values for the
servicesargument:'all': accept all services[]: empty array, accept none (reject all)
Examples
javascriptcc.acceptService('all', 'analytics'); // accept all services (in the 'analytics' category) cc.acceptService([], 'analytics'); // reject all services cc.acceptService('service1', 'analytics'); // accept only this specific service (reject all the others) cc.acceptService(['service1', 'service2'], 'analytics'); // accept only these 2 services (reject all the others)
acceptedService
Returns true if the service inside the category is accepted, otherwise false.
Type
javascriptfunction( serviceName: string, categoryName: string ): booleanExamples
javascriptif(cc.acceptedService('Google Analytics', 'analytics')){ // great }else{ // not so great }
validConsent
Returns true if consent is valid.
Type
javascriptfunction(): booleanDetails
Consent is not valid when at least one of following situations occurs:
- consent is missing (e.g. user has not yet made a choice)
- revision numbers don't match
- the plugin's cookie does not exist/has expired
- the plugin's cookie is structurally not valid (e.g. empty)
Example
javascriptif(cc.validConsent()){ // consent is valid }else{ // consent is not valid }
validCookie
Returns true if the specified cookie is valid (it exists and its content is not empty).
Type
javascriptfunction(cookieName: string): booleanDetails
This method cannot detect if the cookie has expired as such information cannot be retrieved with javascript.
Example
Check if the
'gid'cookie is set.javascriptif(cc.validCookie('_gid')){ // _gid cookie is valid! }else{ // _gid cookie is not set ... }
eraseCookies
Removes one or multiple cookies.
Type
javascriptfunction( cookies: string | RegExp | (string | RegExp)[], path?: string, domain?: string ): voidExamples
Delete the plugin's own cookie
javascriptcc.eraseCookies('cc_cookie');Delete the
_gidand all cookies starting with_ga:javascriptcc.eraseCookies(['_gid', /^_ga/], '/', location.hostname);
loadScript
Loads script files (.js).
Type
javascriptfunction( path: string, attributes?: {[key: string]: string} ): Promise<boolean>Examples
javascript// basic usage cc.loadScript('path-to-script.js'); // check if script is loaded successfully const loaded = await cc.loadScript('path-to-script.js'); if(!loaded){ console.log('Script failed to load!'); }You may also concatenate multiple
.loadScriptmethods:javascriptcc.loadScript('path-to-script1.js') .then(() => cc.loadScript('path-to-script2.js')) .then(() => cc.loadScript('path-to-script3.js'));Load script with attributes:
javascriptcc.loadScript('path-to-script.js', { 'id': 'ga-script', 'another-attribute': 'another-value' });
getCookie
Returns the plugin's own cookie, or just one of the fields.
Type
javascriptfunction( field?: string, cookieName?: string, ): any | { categories: string[], revision: number, data: any, consentId: string consentTimestamp: string, lastConsentTimestamp: string, services: {[key: string]: string[]} }Example
javascript// Get only the 'data' field const data = cc.getCookie('data'); // Get all fields const cookieContent = cc.getCookie();
getConfig
Returns the configuration object or one of its fields.
Type
javascriptfunction(field?: string): anyExample
javascript// Get the entire config const config = cc.getConfig(); // Get only the language' prop. const language = cc.getConfig('language');
getUserPreferences
Returns user's preferences, such as accepted/rejected categories and services.
Type
javascriptfunction(): { acceptType: string, acceptedCategories: string[], rejectedCategories: string[], acceptedServices: {[category: string]: string[]} rejectedServices: {[category: string]: string[]} }Details
Possible
acceptTypevalues:'all''custom''necessary'
Example
javascriptconst preferences = cc.getUserPreferences(); if(preferences.acceptType === 'all'){ console.log("Awesome!"); } if(preferences.acceptedCategories.includes('analytics')){ console.log("The analytics category was accepted!"); }
setLanguage
Changes the modal's language. Returns a Promise<boolean> which evaluates to true if the language was changed successfully.
Type
javascriptfunction( language: string, force?: boolean ): Promise<boolean>Examples
javascript// Simple usage cc.setLanguage('it'); // Get return value const success = await cc.setLanguage('en');Forcefully refresh modals (re-generates the html content):
javascriptcc.setLanguage('en', true);
setCookieData
Save custom data into the cookie. Returns true if the data was set successfully.
Type
javascriptfunction({ value: any, mode?: string }): booleanDetails
Valid
modevalues:'update'sets the new value only if its different from the previous value, and both are of the same type.'overwrite'(default): always sets the new value (overwrites any existing value).
INFO
The
setCookieDatamethod does not alter the cookies' current expiration time.Examples
javascript// First set: true cc.setData({ value: {id: 21, lang: 'it'} }); //{id: 21, lang: 'it'} // Change only the 'id' field: true cc.setData({ value: {id: 22}, mode: 'update' }); //{id: 22, lang: 'it'} // Add a new field: true cc.setData({ value: {newField: 'newValue'}, mode: 'update' }); //{id: 22, lang: 'it', newField: 'newValue'} // Change 'id' to a string value: FALSE cc.setData({ value: {id: 'hello'}, mode: 'update' }); //{id: 22, lang: 'it', newField: 'newValue'} // Overwrite: true cc.setData({ value: 'overwriteEverything' }); // 'overwriteEverything'
reset
Reset CookieConsent.
Type:
javascriptfunction(eraseCookie?: boolean): voidDetails:
Resets all internal pointers and config. settings. You need to call again the
.run()method with a valid config. object.You can pass the argument
trueto delete the plugin's cookie. The user will be prompted once again to express their consent.WARNING
Once this method is called, the plugin won't be able to detect already executed
scripttags with adata-categoryattribute.Example:
javascriptcc.reset(true);