कोर एपीआई
ये एपीआई, सैंडबॉक्स JavaScript के साथ काम करते हैं. इनकी मदद से, Google Tag Manager में कस्टम टेंप्लेट बनाए जा सकते हैं. हर एपीआई को require()
स्टेटमेंट के साथ जोड़ा जाता है. उदाहरण के लिए:
const myAPI = require('myAPI');
addConsentListener
यह कुकी, लिसनर फ़ंक्शन को रजिस्टर करती है. यह फ़ंक्शन, सहमति के चुने गए टाइप का स्टेटस बदलने पर काम करता है.
यह लिसनर, सहमति के लिए तय किए गए टाइप की स्थिति में बदलाव होने पर हर बार चालू होगा. जैसे, 'सहमति नहीं दी गई' से 'सहमति दी गई' या 'सहमति दी गई' से 'सहमति नहीं दी गई' में बदलाव होने पर. सहमति के ऐसे टाइप को 'मंज़ूरी मिल चुकी है' के तौर पर माना जाता है जिसकी स्थिति सेट नहीं की गई है. इसलिए, अगर सहमति के किसी ऐसे टाइप को 'मंज़ूरी मिल चुकी है' के तौर पर अपडेट किया जाता है जिसकी स्थिति सेट नहीं की गई है, तो लिसनर को कॉल नहीं किया जाएगा. लिसनर फ़ंक्शन यह पक्का करने के लिए ज़िम्मेदार होंगे कि उनका कोड सही संख्या में चले.
उदाहरण:
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
सिंटैक्स
addConsentListener(consentType, listener)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
consentType |
स्ट्रिंग | सहमति का वह टाइप जिस पर स्थिति में हुए बदलावों को सुना जाना है. |
listener |
function | सहमति के लिए चुने गए टाइप की स्थिति बदलने पर, इस फ़ंक्शन को चलाया जाता है. |
जब किसी लिसनर को शुरू किया जाता है, तो उसे सहमति के उस टाइप की जानकारी दी जाती है जिसमें बदलाव किया जा रहा है. साथ ही, उसे सहमति के उस टाइप की नई वैल्यू भी दी जाती है:
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
consentType |
स्ट्रिंग | सहमति का वह टाइप जिसमें बदलाव किया जा रहा है. |
granted |
boolean | यह एक बूलियन है. अगर सहमति के टाइप को बदलकर 'मंज़ूरी मिल चुकी है' पर सेट किया जा रहा है, तो इसकी वैल्यू सही होती है. |
इससे जुड़ी अनुमतियां
सहमति के टाइप के लिए, पढ़ने के ऐक्सेस के साथ access_consent
की अनुमति.
addEventCallback
addEventCallback
एपीआई की मदद से, एक कॉलबैक फ़ंक्शन रजिस्टर किया जा सकता है. यह फ़ंक्शन, इवेंट के खत्म होने पर कॉल किया जाएगा. यह कॉलबैक तब शुरू होगा, जब इवेंट के लिए सभी टैग एक्ज़ीक्यूट हो गए हों या पेज पर मौजूद इवेंट का टाइम आउट पूरा हो गया हो.
कॉलबैक को दो वैल्यू पास की जाती हैं. पहली वैल्यू, उस कंटेनर का आईडी होती है जो फ़ंक्शन को कॉल करता है. दूसरी वैल्यू, एक ऐसा ऑब्जेक्ट होता है जिसमें इवेंट के बारे में जानकारी होती है.
सिंटैक्स
addEventCallback(callback)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
callback |
function | इवेंट के खत्म होने पर कॉल किया जाने वाला फ़ंक्शन. |
eventData
ऑब्जेक्ट में यह डेटा शामिल होता है:
कुंजी का नाम | टाइप | ब्यौरा |
---|---|---|
tags |
ऐरे | टैग डेटा ऑब्जेक्ट का कलेक्शन. इवेंट के दौरान फ़ायर होने वाले हर टैग की एंट्री इस ऐरे में होगी. टैग डेटा ऑब्जेक्ट में टैग का आईडी (id ), उसके चालू होने की स्थिति (status ), और उसके चालू होने का समय (executionTime ) शामिल होता है. टैग डेटा में, टैग पर कॉन्फ़िगर किया गया अतिरिक्त टैग मेटाडेटा भी शामिल होगा. |
उदाहरण
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
इससे जुड़ी अनुमतियां
aliasInWindow
aliasInWindow
एपीआई की मदद से, कोई उपनाम (जैसे, window.foo =
window.bar
) बनाया जा सकता है. इससे उन टैग को इस्तेमाल करने में मदद मिलती है जिनके लिए उपनाम की ज़रूरत होती है. fromPath
पर मौजूद window
ऑब्जेक्ट में मौजूद वैल्यू को, toPath
पर मौजूद window
ऑब्जेक्ट में मौजूद कुंजी को असाइन करता है. अगर अनुरोध पूरा हो जाता है, तो true
दिखाता है. अगर अनुरोध पूरा नहीं होता है, तो false
दिखाता है.
सिंटैक्स
aliasInWindow(toPath, fromPath)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
toPath |
स्ट्रिंग | window ऑब्जेक्ट में बिंदु से अलग किया गया पाथ, जहां वैल्यू को कॉपी किया जाना चाहिए. पाथ में मौजूद सभी कॉम्पोनेंट, window ऑब्जेक्ट में पहले से मौजूद होने चाहिए. |
fromPath |
स्ट्रिंग | कॉपी की जाने वाली वैल्यू के लिए, window में डॉट से अलग किया गया पाथ. अगर वैल्यू मौजूद नहीं है, तो ऑपरेशन पूरा नहीं होगा. |
उदाहरण
aliasInWindow('foo.bar', 'baz.qux')
इससे जुड़ी अनुमतियां
toPath
और fromPath
, दोनों के लिए access_globals
ज़रूरी है. toPath
के लिए लिखने का ऐक्सेस ज़रूरी है, जबकि fromPath
के लिए पढ़ने का ऐक्सेस ज़रूरी है.
callInWindow
इसकी मदद से, window
ऑब्जेक्ट के बाहर के पाथ से फ़ंक्शन कॉल किए जा सकते हैं. हालांकि, ऐसा नीति के तहत किया जाता है. यह फ़ंक्शन, दिए गए आर्ग्युमेंट के साथ window
में दिए गए पाथ पर फ़ंक्शन को कॉल करता है और वैल्यू दिखाता है. अगर रिटर्न टाइप को सीधे तौर पर, सैंडबॉक्स वाली JavaScript में इस्तेमाल किए जा सकने वाले टाइप से मैप नहीं किया जा सकता, तो undefined
दिखेगा. सैंडबॉक्स किए गए JavaScript में, इन आठ तरह के डेटा का इस्तेमाल किया जा सकता है: null
, undefined
, boolean
, number
, string
, Array
, Object
, और function
. अगर दिया गया पाथ मौजूद नहीं है या किसी फ़ंक्शन का रेफ़रंस नहीं देता है, तो undefined
दिखेगा.
सिंटैक्स
callInWindow(pathToFunction, argument [, argument2,... argumentN])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
pathToFunction |
स्ट्रिंग | window में फ़ंक्शन को कॉल करने के लिए, बिंदु से अलग किया गया पाथ. |
args |
* | फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट. |
इससे जुड़ी अनुमतियां
access_globals
के लिए execute
की अनुमति चालू की गई हो.
callLater
यह फ़ंक्शन, किसी फ़ंक्शन को एसिंक्रोनस तरीके से कॉल करने के लिए शेड्यूल करता है. यह फ़ंक्शन, मौजूदा कोड के वापस आने के बाद कॉल किया जाएगा. यह setTimeout(<function>, 0)
के बराबर है.
सिंटैक्स
callLater(function)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
function |
function | कॉल करने के लिए फ़ंक्शन. |
copyFromDataLayer
यह फ़ंक्शन, डेटा लेयर में मौजूद किसी कुंजी को असाइन की गई मौजूदा वैल्यू दिखाता है: अगर दी गई कुंजी, प्रिमिटिव टाइप, फ़ंक्शन या ऑब्जेक्ट लिटरल है, तो उससे जुड़ी वैल्यू दिखेगी. अगर ऐसा नहीं है, तो undefined
दिखेगा.
सिंटैक्स
copyFromDataLayer(key[, dataLayerVersion])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
key |
स्ट्रिंग | "a.b.c" फ़ॉर्मैट में मौजूद कुंजी. |
dataLayerVersion |
number | डेटा लेयर का वैकल्पिक वर्शन. डिफ़ॉल्ट वैल्यू 2 होती है. हमारा सुझाव है कि वैल्यू 1 का इस्तेमाल न करें. |
इससे जुड़ी अनुमतियां
copyFromWindow
यह फ़ंक्शन, window
ऑब्जेक्ट से किसी वैरिएबल को कॉपी करता है. अगर window
में मौजूद वैल्यू को सीधे तौर पर, सैंडबॉक्स किए गए JavaScript में इस्तेमाल किए जा सकने वाले टाइप से मैप नहीं किया जा सकता, तो undefined
दिखेगा. सैंडबॉक्स किए गए JavaScript में इन आठ टाइप का इस्तेमाल किया जा सकता है: null
,
undefined
, boolean
, number
, string
, Array
, Object
, और function
.
यह फ़ेच की गई (और बदली गई) वैल्यू दिखाता है.
सिंटैक्स
copyFromWindow(key)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
key |
स्ट्रिंग | window में मौजूद वह कुंजी जिसकी वैल्यू कॉपी करनी है. |
इससे जुड़ी अनुमतियां
createArgumentsQueue
यह फ़ंक्शन, एक ऐसी कतार बनाता है जिसमें आर्ग्युमेंट ऑब्जेक्ट शामिल होते हैं. यह उन टैग सलूशन के लिए ज़रूरी है जिनके लिए इसकी ज़रूरत होती है.
यह ग्लोबल स्कोप (यानी कि window
) में एक फ़ंक्शन बनाता है.इसके लिए, fnKey
आर्ग्युमेंट का इस्तेमाल करता है (createQueue
के जैसा ही सिमैंटिक). फ़ंक्शन बनने के बाद, यह एपीआई arrayKey
आर्ग्युमेंट का इस्तेमाल करके, window
में एक ऐरे बनाता है. अगर यह ऐरे पहले से मौजूद नहीं है, तो ही ऐसा किया जाता है.
fnKey
में बनाए गए फ़ंक्शन को कॉल करने पर, यह अपने आर्ग्युमेंट ऑब्जेक्ट को arrayKey
में बनाए गए अरे में पुश करता है. एपीआई की रिटर्न वैल्यू, fnKey
में बनाया गया फ़ंक्शन है.
इस फ़ंक्शन के लिए, access_globals
अनुमति पर fnKey
और arrayKey
के लिए पढ़ने और लिखने की सेटिंग की ज़रूरत होती है.
उदाहरण:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
सिंटैक्स
createArgumentsQueue(fnKey, arrayKey)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
fnKey |
स्ट्रिंग | window में वह पाथ जहां फ़ंक्शन सेट किया गया है. हालांकि, ऐसा तब होगा, जब वह पाथ पहले से मौजूद न हो. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. इसका मतलब है कि अगर fnKey 'one.two' है, तो यह एक अपवाद देगा. |
arrayKey |
स्ट्रिंग | अगर ऐरे पहले से मौजूद नहीं है, तो window में वह पाथ जहां ऐरे सेट किया गया है. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. इसका मतलब है कि अगर arrayKey 'one.two' है और 'one' नाम का कोई ग्लोबल ऑब्जेक्ट मौजूद नहीं है, तो यह एक अपवाद होगा. |
इससे जुड़ी अनुमतियां
createQueue
window
में एक ऐरे बनाता है (अगर यह पहले से मौजूद नहीं है) और एक ऐसा फ़ंक्शन दिखाता है जो उस ऐरे में वैल्यू पुश करेगा.
इस फ़ंक्शन के लिए, arrayKey
की सेटिंग को पढ़ने और लिखने की अनुमति ज़रूरी है.access_globals
उदाहरण:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
सिंटैक्स
createQueue(arrayKey)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
arrayKey |
स्ट्रिंग | window में मौजूद वह कुंजी जहां ऐरे सेट किया गया है. हालांकि, ऐसा तब होगा, जब वह कुंजी पहले से मौजूद न हो. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. उदाहरण के लिए, अगर
arrayKey , 'one.two' है और 'one' नाम का कोई
ग्लोबल ऑब्जेक्ट नहीं है, तो यह एक
अपवाद होगा. |
इससे जुड़ी अनुमतियां
decodeUri
यह फ़ंक्शन, दिए गए यूआरआई में कोड में बदले गए वर्णों को डिकोड करता है. यह फ़ंक्शन, डिकोड किए गए यूआरआई को दिखाने वाली स्ट्रिंग दिखाता है. गलत इनपुट देने पर, यह undefined
दिखाता है.
उदाहरण:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
सिंटैक्स
decodeUri(encoded_uri)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
encoded_uri |
स्ट्रिंग | ऐसा यूआरआई जिसे encodeUri() या किसी अन्य तरीके से कोड में बदला गया हो. |
इससे जुड़ी अनुमतियां
कोई नहीं.
decodeUriComponent
यह फ़ंक्शन, दिए गए यूआरआई कॉम्पोनेंट में कोड में बदले गए वर्णों को डिकोड करता है. यह डिकोड किए गए यूआरआई कॉम्पोनेंट को दिखाने वाली string दिखाता है. अमान्य इनपुट दिए जाने पर, यह फ़ंक्शन undefined
दिखाता है.
उदाहरण:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
सिंटैक्स
decodeUriComponent(encoded_uri_component)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
encoded_uri_component |
स्ट्रिंग | यह एक यूआरआई कॉम्पोनेंट है, जिसे encodeUriComponent() या किसी अन्य तरीके से कोड में बदला गया है. |
इससे जुड़ी अनुमतियां
कोई नहीं.
encodeUri
यह फ़ंक्शन, खास वर्णों को हटाकर एन्कोड किया गया यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (यूआरआई) दिखाता है. यह फ़ंक्शन, ऐसी स्ट्रिंग दिखाता है जो यूआरआई के तौर पर कोड में बदली गई स्ट्रिंग को दिखाती है. अमान्य इनपुट (सिर्फ़ सरोगेट) दिए जाने पर, undefined
दिखाता है.
उदाहरण:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
सिंटैक्स
encodeUri(uri)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
uri |
स्ट्रिंग | पूरा यूआरआई. |
इससे जुड़ी अनुमतियां
कोई नहीं.
encodeUriComponent
यह फ़ंक्शन, खास वर्णों को हटाकर एन्कोड किया गया यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (यूआरआई) दिखाता है. यह फ़ंक्शन, ऐसी स्ट्रिंग दिखाता है जो यूआरआई के तौर पर कोड में बदली गई स्ट्रिंग को दिखाती है. अमान्य इनपुट (सिर्फ़ सरोगेट) दिए जाने पर, undefined
दिखाता है.
उदाहरण:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
सिंटैक्स
encodeUriComponent(str)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
str |
स्ट्रिंग | यूआरआई का एक कॉम्पोनेंट. |
इससे जुड़ी अनुमतियां
कोई नहीं.
fromBase64
fromBase64
एपीआई की मदद से, स्ट्रिंग को उनके base64 फ़ॉर्मैट से डिकोड किया जा सकता है. अमान्य इनपुट दिए जाने पर, यह फ़ंक्शन undefined
दिखाता है.
सिंटैक्स
fromBase64(base64EncodedString)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
base64EncodedString |
स्ट्रिंग | Base64 कोड में बदली गई स्ट्रिंग. |
उदाहरण
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
इससे जुड़ी अनुमतियां
कोई नहीं
generateRandom
यह फ़ंक्शन, दी गई रेंज में कोई भी संख्या (पूर्णांक) दिखाता है.
सिंटैक्स
generateRandom(min, max)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
min |
number | लौटाए गए पूर्णांक की कम से कम संभावित वैल्यू. |
max |
number | लौटाए गए पूर्णांक की ज़्यादा से ज़्यादा संभावित वैल्यू. |
इससे जुड़ी अनुमतियां
कोई नहीं.
getContainerVersion
यह फ़ंक्शन, मौजूदा कंटेनर के बारे में डेटा वाला object दिखाता है. जवाब में मिले ऑब्जेक्ट में ये फ़ील्ड शामिल होते हैं:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
उदाहरण
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
सिंटैक्स
getContainerVersion();
इससे जुड़ी अनुमतियां
getCookieValues
यह फ़ंक्शन, दिए गए नाम वाली सभी कुकी की वैल्यू दिखाता है.
सिंटैक्स
getCookieValues(name[, decode])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | कुकी का नाम. |
decode |
boolean | इस कुकी से यह कंट्रोल होता है कि कुकी की वैल्यू को JavaScript के
decodeURIComponent() का इस्तेमाल करके डिकोड किया जाए या नहीं. डिफ़ॉल्ट रूप से, यह true पर सेट होती है. |
इससे जुड़ी अनुमतियां
getQueryParameters
यह फ़ंक्शन, मौजूदा यूआरएल के queryKey
के लिए, पहले या सभी पैरामीटर दिखाता है.
queryKey
से पहली वैल्यू या queryKey
से वैल्यू की एक सरणी दिखाता है.
सिंटैक्स
getQueryParameters(queryKey[, retrieveAll])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
queryKey |
स्ट्रिंग | क्वेरी पैरामीटर से पढ़ने के लिए कुंजी. |
retrieveAll |
boolean | क्या सभी वैल्यू वापस लानी हैं. |
उदाहरण के लिए, अगर मौजूदा यूआरएल https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
है, तो:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
इससे जुड़ी अनुमतियां
get_url
को query
कॉम्पोनेंट की अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey
तय करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी की अनुमति दे सकता है.
getReferrerQueryParameters
getReferrerQueryParameters
एपीआई, getQueryParameters
की तरह ही काम करता है. हालांकि, यह मौजूदा यूआरएल के बजाय रेफ़रर पर काम करता है. यह फ़ंक्शन, दिए गए रेफ़रर के queryKey
के लिए, पहले या सभी पैरामीटर दिखाता है. queryKey
से पहली वैल्यू या queryKey
से वैल्यू की एक सरणी दिखाता है.
सिंटैक्स
getReferrerQueryParameters(queryKey[, retrieveAll])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
queryKey |
स्ट्रिंग | क्वेरी पैरामीटर से पढ़ने के लिए कुंजी. |
retrieveAll |
boolean | क्या सभी वैल्यू वापस लानी हैं. |
उदाहरण के लिए, अगर रेफ़रर यूआरएल https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
है, तो:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
इससे जुड़ी अनुमतियां
get_referrer
को query
कॉम्पोनेंट को अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey
को शामिल करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी को अनुमति दे सकता है.
getReferrerUrl
कॉम्पोनेंट टाइप दिए जाने पर, एपीआई रेफ़रर के लिए दस्तावेज़ ऑब्जेक्ट को पढ़ता है और एक स्ट्रिंग दिखाता है. यह स्ट्रिंग, रेफ़रर के एक हिस्से को दिखाती है. अगर कोई कॉम्पोनेंट नहीं दिया गया है, तो रेफ़र करने वाले का पूरा यूआरएल दिखता है.
सिंटैक्स
getReferrerUrl([component])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
component |
स्ट्रिंग | यूआरएल से वापस मिलने वाला कॉम्पोनेंट. इनमें से कोई एक स्थिति हो सकती है:
protocol , host , port ,
path , query , extension . अगर component , undefined या null है या इनमें से किसी कॉम्पोनेंट से मेल नहीं खाता है, तो पूरा यूआरएल दिखेगा. |
इससे जुड़ी अनुमतियां
get_referrer
को query
कॉम्पोनेंट को अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey
को शामिल करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी को अनुमति दे सकता है.
getTimestamp
अब काम नहीं करता. getTimestampMillis का इस्तेमाल करें.
यह फ़ंक्शन, Unix epoch के बाद से अब तक के समय को मिलीसेकंड में दिखाता है. इसे Date.now()
फ़ंक्शन से मिले number के तौर पर दिखाया जाता है.
सिंटैक्स
getTimestamp();
इससे जुड़ी अनुमतियां
कोई नहीं.
getTimestampMillis
यह फ़ंक्शन, Unix epoch के बाद से अब तक के समय को मिलीसेकंड में दिखाता है. इसे Date.now()
फ़ंक्शन से मिले number के तौर पर दिखाया जाता है.
सिंटैक्स
getTimestampMillis();
इससे जुड़ी अनुमतियां
कोई नहीं.
getType
यह फ़ंक्शन, दी गई वैल्यू के टाइप की जानकारी देने वाली स्ट्रिंग दिखाता है. typeof
के उलट, getType
, array
और object
के बीच अंतर करता है.
सिंटैक्स
getType(data.someField)
ज़रूरी जानकारी
यहां दी गई टेबल में, हर इनपुट वैल्यू के लिए दिखाई गई स्ट्रिंग की सूची दी गई है.
इनपुट मान | नतीजा |
---|---|
undefined |
'undefined' |
null |
'null' |
true |
'boolean' |
12 |
'number' |
'string' |
'string' |
{ a: 3 } |
'object' |
[ 1, 3 ] |
'array' |
(x) => x + 1 |
'function' |
इससे जुड़ी अनुमतियां
कोई नहीं.
getUrl
यह फ़ंक्शन, मौजूदा यूआरएल के पूरे या किसी हिस्से को दिखाता है. इसके लिए, कॉम्पोनेंट टाइप और कुछ कॉन्फ़िगरेशन पैरामीटर दिए जाते हैं. यह फ़ंक्शन, string दिखाता है.
सिंटैक्स
getUrl(component)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
component |
स्ट्रिंग | यूआरएल से वापस मिलने वाला कॉम्पोनेंट. इनमें से कोई एक होना चाहिए:
protocol , host , port ,
path , query , extension ,
fragment . अगर कॉम्पोनेंट undefined या null है या इनमें से किसी कॉम्पोनेंट से मेल नहीं खाता है, तो href की पूरी वैल्यू दिखाई जाएगी. |
इससे जुड़ी अनुमतियां
gtagSet
यह gtag सेट कमांड को डेटा लेयर में पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग की प्रोसेसिंग पूरी होने के बाद (या टैग प्रोसेसिंग का टाइम आउट पूरा होने के बाद) इसे जल्द से जल्द प्रोसेस किया जा सके. इस अपडेट को इस कंटेनर में प्रोसेस किया जाएगा. इसके बाद, डेटा लेयर की कतार में मौजूद किसी भी आइटम को प्रोसेस किया जाएगा.
उदाहरण के लिए, अगर इसे सहमति की प्रोसेस शुरू करने वाले ट्रिगर से ट्रिगर हुए टैग से कॉल किया जाता है, तो अपडेट, सहमति की प्रोसेस शुरू करने वाले इवेंट के प्रोसेस होने से पहले लागू हो जाएगा. उदाहरण के लिए, ads_data_redaction
को true
या false
पर सेट करना या url_passthrough
को true
या false
पर सेट करना.
उदाहरण:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
सिंटैक्स
gtagSet(object)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
Object |
object | यह एक ऐसा ऑब्जेक्ट होता है जो अपनी प्रॉपर्टी के लिए ग्लोबल स्टेट को अपडेट करता है. |
इससे जुड़ी अनुमतियां
write_data_layer
, सभी तय की गई कुंजियों के लिए dataLayer
में लिखने की अनुमति की जांच करता है. अगर gtagSet
में इनपुट एक सामान्य ऑब्जेक्ट है, तो एपीआई उस ऑब्जेक्ट में मौजूद सभी फ़्लैट किए गए कुंजियों के लिए, लिखने की अनुमति की जांच करेगा. उदाहरण के लिए, gtagSet({foo: {bar: 'baz'}})
के लिए, एपीआई foo.bar
के लिए लिखने की अनुमति की जांच करेगा.
अगर gtagSet
में इनपुट के तौर पर कोई कुंजी और कुछ नॉन-प्लेन ऑब्जेक्ट वैल्यू दी जाती है, तो एपीआई उस कुंजी के लिए लिखने की अनुमति की जांच करेगा. उदाहरण के लिए, gtagSet('abc', true)
के लिए, एपीआई 'abc'
के लिए लिखने की अनुमति की जांच करेगा.
ध्यान दें कि अगर इनपुट ऑब्जेक्ट में कोई साइकल है, तो सिर्फ़ उसी ऑब्जेक्ट तक पहुंचने से पहले की कुंजियों की जांच की जाएगी.
injectHiddenIframe
यह कुकी, पेज में न दिखने वाला iframe जोड़ती है.
कॉलबैक को फ़ंक्शन इंस्टेंस के तौर पर दिया जाता है. इन्हें JavaScript फ़ंक्शन में रैप किया जाता है, जो इन्हें कॉल करते हैं.
सिंटैक्स
injectHiddenIframe(url, onSuccess)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | आईफ़्रेम के src एट्रिब्यूट की वैल्यू के तौर पर इस्तेमाल किया जाने वाला यूआरएल. |
onSuccess |
function | जब फ़्रेम लोड हो जाता है, तब इसे कॉल किया जाता है. |
इससे जुड़ी अनुमतियां
injectScript
यह फ़ंक्शन, पेज में एक स्क्रिप्ट टैग जोड़ता है, ताकि दिए गए यूआरएल को एसिंक्रोनस तरीके से लोड किया जा सके. कॉलबैक को फ़ंक्शन इंस्टेंस के तौर पर दिया जाता है. साथ ही, इन्हें JavaScript फ़ंक्शन में रैप किया जाता है. ये फ़ंक्शन, कॉलबैक को कॉल करते हैं.
सिंटैक्स
injectScript(url, onSuccess, onFailure[, cacheToken])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | इंजेक्ट की जाने वाली स्क्रिप्ट का पता. |
onSuccess |
function | जब स्क्रिप्ट लोड हो जाती है, तब इसे कॉल किया जाता है. |
onFailure |
function | यह तब कॉल किया जाता है, जब स्क्रिप्ट लोड नहीं हो पाती है. |
cacheToken |
स्ट्रिंग | यह एक वैकल्पिक स्ट्रिंग है. इसका इस्तेमाल यह बताने के लिए किया जाता है कि दिए गए यूआरएल को कैश मेमोरी में सेव किया जाना चाहिए. अगर यह वैल्यू दी जाती है, तो JavaScript का अनुरोध करने के लिए सिर्फ़ एक स्क्रिप्ट एलिमेंट बनाया जाएगा. लोड करने की किसी भी अतिरिक्त कोशिश के बाद, दिए गए onSuccess और onFailure तरीकों को तब तक कतार में रखा जाएगा, जब तक स्क्रिप्ट लोड नहीं हो जाती. |
इससे जुड़ी अनुमतियां
isConsentGranted
अगर चुनी गई सहमति के लिए मंज़ूरी मिल चुकी है, तो यह फ़ंक्शन 'सही' दिखाता है.
किसी खास सहमति टाइप के लिए सहमति को तब 'मंज़ूरी दी गई' माना जाता है, जब सहमति टाइप को 'मंज़ूरी दी गई' पर सेट किया गया हो या उसे सेट न किया गया हो. अगर सहमति के टाइप को किसी अन्य वैल्यू पर सेट किया जाता है, तो इसे सहमति नहीं दी गई के तौर पर माना जाएगा.
टैग सेटिंग के लिए Tag Manager का यूज़र इंटरफ़ेस, हमेशा ट्रिगर होने का विकल्प देगा. अगर 'हमेशा चालू रहता है' विकल्प वाला कोई टैग इस एपीआई का इस्तेमाल करता है, तो सहमति को 'सहमति दी गई' माना जाता है. साथ ही, true
को वापस भेज दिया जाता है. भले ही, सहमति की मौजूदा स्थिति कुछ भी हो.
उदाहरण:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
सिंटैक्स
isConsentGranted(consentType)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
consentType |
स्ट्रिंग | सहमति का वह टाइप जिसकी स्थिति की जांच करनी है. |
इससे जुड़ी अनुमतियां
सहमति के टाइप के लिए, पढ़ने के ऐक्सेस के साथ access_consent
की अनुमति.
JSON
यह एक ऐसा ऑब्जेक्ट दिखाता है जो JSON फ़ंक्शन उपलब्ध कराता है.
parse()
फ़ंक्शन, JSON स्ट्रिंग को पार्स करता है, ताकि स्ट्रिंग में बताई गई वैल्यू या ऑब्जेक्ट बनाया जा सके. अगर वैल्यू को पार्स नहीं किया जा सकता (जैसे, गलत तरीके से बनाया गया JSON), तो फ़ंक्शन undefined
दिखाएगा. अगर इनपुट वैल्यू कोई स्ट्रिंग नहीं है, तो इनपुट को स्ट्रिंग में बदल दिया जाएगा.
stringify()
फ़ंक्शन, इनपुट को JSON स्ट्रिंग में बदलता है. अगर वैल्यू को पार्स नहीं किया जा सकता (जैसे, ऑब्जेक्ट में कोई साइकल है), तो यह तरीका undefined
दिखाएगा.
सिंटैक्स
JSON.parse(stringInput)
JSON.stringify(value);
पैरामीटर
JSON.parse
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
stringInput | any | वह वैल्यू जिसे बदलना है. अगर वैल्यू स्ट्रिंग नहीं है, तो इनपुट को स्ट्रिंग में बदल दिया जाएगा. |
JSON.stringify
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
मान | any | वह वैल्यू जिसे बदलना है. |
उदाहरण
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
यह फ़ंक्शन, लोकल स्टोरेज को ऐक्सेस करने के तरीकों वाला ऑब्जेक्ट दिखाता है.
सिंटैक्स
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
इससे जुड़ी अनुमतियां
उदाहरण
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
यह फ़ंक्शन, ब्राउज़र कंसोल में आर्ग्युमेंट लॉग करता है.
सिंटैक्स
logToConsole(obj1 [, obj2,... objN])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
obj1 [, obj2,... objN] |
any | तर्क |
इससे जुड़ी अनुमतियां
makeInteger
यह दी गई वैल्यू को संख्या (पूर्णांक) में बदलता है.
सिंटैक्स
makeInteger(value)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value |
any | वह वैल्यू जिसे बदलना है. |
इससे जुड़ी अनुमतियां
कोई नहीं.
makeNumber
यह दी गई वैल्यू को संख्या में बदलता है.
सिंटैक्स
makeNumber(value)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value |
any | वह वैल्यू जिसे बदलना है. |
इससे जुड़ी अनुमतियां
कोई नहीं.
makeString
दी गई वैल्यू को स्ट्रिंग के तौर पर दिखाता है.
सिंटैक्स
makeString(value)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value |
any | वह वैल्यू जिसे बदलना है. |
इससे जुड़ी अनुमतियां
कोई नहीं.
makeTableMap
यह दो कॉलम वाले सामान्य टेबल ऑब्जेक्ट को Map
में बदलता है. इसका इस्तेमाल, दो कॉलम वाले SIMPLE_TABLE
टेंप्लेट फ़ील्ड को मैनेज करने में आसान फ़ॉर्मैट में बदलने के लिए किया जाता है.
उदाहरण के लिए, यह फ़ंक्शन किसी टेबल ऑब्जेक्ट को बदल सकता है:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
में बदलें:
{
'k1': 'v1',
'k2': 'v2'
}
यह एक Object दिखाता है: अगर इसमें की-वैल्यू पेयर जोड़े गए हैं, तो बदला गया Map
या अगर ऐसा नहीं है, तो null
.
सिंटैक्स
makeTableMap(tableObj, keyColumnName, valueColumnName)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
tableObj |
सूची | बदलने के लिए टेबल ऑब्जेक्ट. यह मैप की एक सूची है, जिसमें हर Map टेबल में एक पंक्ति को दिखाता है. लाइन ऑब्जेक्ट में मौजूद हर प्रॉपर्टी का नाम, कॉलम का नाम होता है. साथ ही, प्रॉपर्टी की वैल्यू, लाइन में मौजूद कॉलम की वैल्यू होती है. |
keyColumnName |
स्ट्रिंग | उस कॉलम का नाम जिसकी वैल्यू, बदले गए Map में कुंजियां बन जाएंगी. |
valueColumnName |
स्ट्रिंग | उस कॉलम का नाम जिसकी वैल्यू, बदले गए Map में वैल्यू बन जाएंगी. |
इससे जुड़ी अनुमतियां
कोई नहीं.
Math
Math
फ़ंक्शन उपलब्ध कराने वाला ऑब्जेक्ट.
सिंटैक्स
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
पैरामीटर
गणित के फ़ंक्शन के पैरामीटर को संख्याओं में बदल दिया जाता है.
इससे जुड़ी अनुमतियां
कोई नहीं.
Object
यह एक ऐसा ऑब्जेक्ट दिखाता है जो Object
तरीके उपलब्ध कराता है.
keys()
तरीके से, Standard Library Object.keys() के बारे में जानकारी मिलती है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी के नामों की एक ऐसी ऐरे दिखाता है जिसमें प्रॉपर्टी के नाम उसी क्रम में होते हैं जिस क्रम में for...in...
लूप में होते हैं. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.
values()
तरीके से, स्टैंडर्ड लाइब्रेरी Object.values()
के जैसा व्यवहार होता है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी वैल्यू का एक ऐरे दिखाता है. यह ऐरे, उसी क्रम में होता है जिस क्रम में for...in...
लूप होता है. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.
entries()
तरीके से, स्टैंडर्ड लाइब्रेरी Object.entries() का व्यवहार मिलता है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी [key, value]
पेयर की एक ऐसी ऐरे दिखाता है जिसमें प्रॉपर्टी उसी क्रम में होती हैं जिस क्रम में for...in...
लूप में होती हैं. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.
freeze()
तरीके से, स्टैंडर्ड लाइब्रेरी Object.freeze() का व्यवहार मिलता है. फ़्रीज़ किए गए ऑब्जेक्ट में अब बदलाव नहीं किया जा सकता. किसी ऑब्जेक्ट को फ़्रीज़ करने से, उसमें नई प्रॉपर्टी नहीं जोड़ी जा सकतीं, मौजूदा प्रॉपर्टी नहीं हटाई जा सकतीं, और मौजूदा प्रॉपर्टी की वैल्यू नहीं बदली जा सकतीं. freeze()
उसी ऑब्जेक्ट को दिखाता है जिसे पास किया गया था. प्रिमिटिव या शून्य आर्ग्युमेंट को ऐसे माना जाएगा जैसे कि वह फ़्रीज़ किया गया ऑब्जेक्ट हो. साथ ही, उसे वापस कर दिया जाएगा.
delete()
तरीके से, स्टैंडर्ड लाइब्रेरी के delete operator का इस्तेमाल किया जाता है. यह ऑब्जेक्ट से दी गई कुंजी को हटाता है, जब तक कि ऑब्जेक्ट फ़्रीज़ न हो.
स्टैंडर्ड लाइब्रेरी के डिलीट ऑपरेटर की तरह, यह true
दिखाता है. ऐसा तब होता है, जब पहली इनपुट वैल्यू (objectInput
) ऐसा ऑब्जेक्ट हो जिसे फ़्रीज़ नहीं किया गया है. भले ही, दूसरी इनपुट वैल्यू (keyToDelete
) ऐसी कुंजी तय करती हो जो मौजूद नहीं है. अन्य सभी मामलों में, यह false
दिखाता है. हालांकि, यह स्टैंडर्ड लाइब्रेरी के डिलीट ऑपरेटर से इन मामलों में अलग है:
keyToDelete
ऐसी स्ट्रिंग नहीं हो सकती जिसमें डॉट-डिलिमिटेड का इस्तेमाल किया गया हो और जो नेस्ट की गई कुंजी के बारे में बताती हो.delete()
का इस्तेमाल, किसी ऐरे से एलिमेंट हटाने के लिए नहीं किया जा सकता.delete()
का इस्तेमाल, ग्लोबल स्कोप से किसी भी प्रॉपर्टी को हटाने के लिए नहीं किया जा सकता.
सिंटैक्स
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
पैरामीटर
Object.keys
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
objectInput | any | वह ऑब्जेक्ट जिसकी कुंजियों को गिनना है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा. |
Object.values
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
objectInput | any | वह ऑब्जेक्ट जिसकी वैल्यू की गिनती करनी है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा. |
Object.entries
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
objectInput | any | वह ऑब्जेक्ट जिसके की/वैल्यू पेयर की गिनती करनी है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा. |
Object.freeze
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
objectInput | any | फ़्रीज़ करने के लिए ऑब्जेक्ट. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे फ़्रीज़ किया गया ऑब्जेक्ट माना जाएगा. |
Object.delete
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
objectInput | any | वह ऑब्जेक्ट जिसकी कुंजी को मिटाना है. |
keyToDelete | स्ट्रिंग | मिटाने के लिए टॉप-लेवल की कुंजी. |
उदाहरण
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
यह एक ऐसा ऑब्जेक्ट दिखाता है जिसमें दिए गए यूआरएल के सभी कॉम्पोनेंट शामिल होते हैं. यह URL
ऑब्जेक्ट की तरह होता है.
यह एपीआई, गलत फ़ॉर्मैट वाले किसी भी यूआरएल के लिए undefined
दिखाएगा. सही फ़ॉर्मैट वाले यूआरएल के लिए, यूआरएल स्ट्रिंग में मौजूद नहीं होने वाले फ़ील्ड की वैल्यू एक खाली स्ट्रिंग होगी. इसके अलावा, searchParams
के मामले में, यह एक खाली ऑब्जेक्ट होगा.
जवाब में मिले ऑब्जेक्ट में ये फ़ील्ड होंगे:
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
उदाहरण
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
सिंटैक्स
parseUrl(url);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | वह पूरा यूआरएल जिसे पार्स किया जाएगा. |
इससे जुड़ी अनुमतियां
कोई नहीं.
queryPermission
अनुमति दी गई और सीमित की गई अनुमतियों के बारे में क्वेरी करना. यह फ़ंक्शन बूलियन वैल्यू दिखाता है: अनुमति मिलने पर true
और अनुमति न मिलने पर false
.
सिंटैक्स
queryPermission(permission, functionArgs*)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
permission |
स्ट्रिंग | अनुमति का नाम. |
functionArgs |
any | जिस अनुमति के बारे में क्वेरी की जा रही है उसके हिसाब से, फ़ंक्शन के आर्ग्युमेंट अलग-अलग होते हैं. नीचे फ़ंक्शन के तर्क देखें. |
फ़ंक्शन के आर्ग्युमेंट
sendPixel
, injectScript
, injectHiddenIframe
: दूसरा पैरामीटर, यूआरएल स्ट्रिंग होना चाहिए.
writeGlobals
, readGlobals
: दूसरे पैरामीटर में, लिखी या पढ़ी जा रही कुंजी होनी चाहिए.
readUrl
: पूरे यूआरएल को पढ़ा जा सकता है या नहीं, यह क्वेरी करने के लिए किसी और तर्क की ज़रूरत नहीं होती. यह क्वेरी करने के लिए कि क्या किसी कॉम्पोनेंट को पढ़ा जा सकता है, कॉम्पोनेंट का नाम दूसरे आर्ग्युमेंट के तौर पर पास करें:
if (queryPermission('readUrl','port')) {
// read the port
}
यह देखने के लिए कि किसी क्वेरी की को पढ़ा जा सकता है या नहीं, क्वेरी की को तीसरे पैरामीटर के तौर पर पास करें:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
इससे जुड़ी अनुमतियां
कोई नहीं.
readAnalyticsStorage
यह कुकी, Analytics के लिए सेव किया गया डेटा वापस लाती है. साथ ही, client_id
और sessions
के साथ एक ऑब्जेक्ट दिखाती है.
client_id
: यह एक स्ट्रिंग है, जो Analytics के लिए इस्तेमाल किए गए क्लाइंट आईडी को दिखाती है.sessions
: ऑब्जेक्ट का एक ऐसा कलेक्शन जिसमें मौजूदा सेशन के बारे में जानकारी होती है. हर ऑब्जेक्ट में ये शामिल हैं:measurement_id
: Analytics डेस्टिनेशन के मेज़रमेंट आईडी को दिखाने वाली स्ट्रिंग.session_id
: यह एक स्ट्रिंग है, जो टाइमस्टैंप को दिखाती है. इससे मौजूदा सेशन की पहचान होती है.session_number
: यह एक संख्या है. इससे पता चलता है कि मौजूदा सेशन तक पहुंचने से पहले, उपयोगकर्ता ने कितने सेशन शुरू किए.
सिंटैक्स
const readAnalyticsStorage = require('readAnalyticsStorage');
const cookieOptions = {
cookie_prefix: "xyz",
cookie_domain: "google.com",
cookie_path: "/",
};
readAnalyticsStorage(cookieOptions);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
cookieOptions |
object |
ज़रूरी नहीं है. किसी खास
cookie_prefix , cookie_domain या
cookie_path के साथ कुकी पढ़ने के विकल्प.
|
इससे जुड़ी अनुमतियां
उदाहरण
const readAnalyticsStorage = require('readAnalyticsStorage');
const analyticsStorageData = readAnalyticsStorage();
sendOfflineEvent(analyticsStorageData.client_id, "tutorial_begin");
readCharacterSet
document.characterSet
की वैल्यू दिखाता है.
सिंटैक्स
readCharacterSet()
पैरामीटर
कोई नहीं.
इससे जुड़ी अनुमतियां
readTitle
document.title
की वैल्यू दिखाता है.
सिंटैक्स
readTitle()
पैरामीटर
कोई नहीं.
इससे जुड़ी अनुमतियां
require
यह फ़ंक्शन, नाम के हिसाब से बिल्ट-इन फ़ंक्शन को इंपोर्ट करता है. यह एक फ़ंक्शन या ऑब्जेक्ट दिखाता है, जिसे आपके प्रोग्राम से कॉल किया जा सकता है. अगर ब्राउज़र में बिल्ट-इन फ़ंक्शन काम नहीं करता है, तो यह undefined दिखाता है.
सिंटैक्स
require(name)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | इंपोर्ट किए जाने वाले फ़ंक्शन का नाम. |
उदाहरण
const getUrl = require('getUrl');
const url = getUrl();
इससे जुड़ी अनुमतियां
कोई नहीं.
sendPixel
यह अनुमति मिलने पर, दिए गए यूआरएल एंडपॉइंट पर GET अनुरोध किया जा सकता है.
सिंटैक्स
sendPixel(url, onSuccess, onFailure)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | पिक्सल को कहां भेजना है. |
onSuccess |
function | यह फ़ंक्शन तब कॉल किया जाता है, जब पिक्सल लोड हो जाता है. ध्यान दें: अनुरोध के सही तरीके से भेजे जाने के बावजूद, ब्राउज़र को onSuccess को चलाने के लिए, मान्य इमेज रिस्पॉन्स की ज़रूरत पड़ सकती है. |
onFailure |
function | यह तब कॉल किया जाता है, जब पिक्सल लोड नहीं हो पाता. ध्यान दें: अनुरोध के सफलतापूर्वक भेजे जाने के बाद भी, अगर सर्वर से मान्य इमेज रिस्पॉन्स नहीं मिलता है, तो onFailure फ़ंक्शन चल सकता है. |
इससे जुड़ी अनुमतियां
setCookie
यह कुकी को सेट या मिटाता है. इसके लिए, कुकी का नाम, वैल्यू, और विकल्प तय किए जाते हैं.
सिंटैक्स
setCookie(name, value[, options, encode])
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | कुकी का नाम. |
value |
स्ट्रिंग | कुकी की वैल्यू. |
options |
object | यह Domain, Path, Expires, Max-Age, Secure, और SameSite एट्रिब्यूट के बारे में बताता है. (नीचे दिए गए विकल्प देखें.) |
encode |
boolean | यह कुकी कंट्रोल करती है कि कुकी की वैल्यू को JavaScript के encodeURIComponent() के साथ कोड में बदला जाना है या नहीं.
डिफ़ॉल्ट रूप से, यह true पर सेट होती है. |
- डोमेन: अगर मौजूद है, तो इसे
options['domain']
प्रॉपर्टी सेट करती है. इस वैल्यू को'auto'
पर सेट करें, ताकि दस्तावेज़ की जगह के आधार पर, सबसे बड़े डोमेन का इस्तेमाल करके कुकी को लिखा जा सके. अगर ऐसा नहीं होता है, तो यह एक के बाद एक छोटे सबडोमेन आज़माएगा. अगर ये सभी तरीके काम नहीं करते हैं, तो यह बिना डोमेन के कुकी लिखने की कोशिश करेगा. अगर कोई वैल्यू सेट नहीं की जाती है, तो यह बिना किसी डोमेन के कुकी को लिखने की कोशिश करेगा. ध्यान दें: जब डोमेन की जानकारी के बिना किसी कुकी कोdocument.cookie
में लिखा जाता है, तो उपयोगकर्ता एजेंट, कुकी के डोमेन को मौजूदा दस्तावेज़ की जगह के होस्ट पर डिफ़ॉल्ट कर देगा. - पाथ: अगर मौजूद है, तो इसे
options['path']
ने सेट किया है. जब पाथ की जानकारी के बिना किसी कुकी कोdocument.cookie
में लिखा जाता है, तो उपयोगकर्ता एजेंट, कुकी के पाथ को डिफ़ॉल्ट रूप से मौजूदा दस्तावेज़ की जगह के पाथ पर सेट कर देगा. - Max-Age: अगर मौजूद है, तो इसे
options['max-age']
सेट करता है. - समयसीमा खत्म होने की तारीख: अगर मौजूद है, तो
options['expires']
ने सेट की है. अगर यह मौजूद है, तो यह यूटीसी फ़ॉर्मैट में तारीख की स्ट्रिंग होनी चाहिए.Date.toUTCString()
का इस्तेमाल, इस पैरामीटर के लिएDate
को फ़ॉर्मैट करने के लिए किया जा सकता है. - सुरक्षित: अगर मौजूद है, तो इसे
options['secure']
सेट करता है. - SameSite: अगर मौजूद है, तो इसे
options['samesite']
सेट करता है.
इससे जुड़ी अनुमतियां
setDefaultConsentState
यह डेटा लेयर में सहमति से जुड़ा डिफ़ॉल्ट अपडेट पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग के प्रोसेस होने के बाद, इसे जल्द से जल्द प्रोसेस किया जा सके. ऐसा तब भी किया जा सकता है, जब टैग को प्रोसेस करने का टाइम आउट खत्म हो गया हो. इस कंटेनर में अपडेट को प्रोसेस करने की गारंटी है. ऐसा डेटा लेयर में मौजूद किसी भी आइटम से पहले किया जाता है. सहमति के बारे में ज़्यादा जानें.
उदाहरण:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
सिंटैक्स
setDefaultConsentState(consentSettings)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
consentSettings |
object | यह एक ऐसा ऑब्जेक्ट है जो सहमति के लिए तय किए गए टाइप की डिफ़ॉल्ट स्थिति तय करता है. |
consentSettings
ऑब्जेक्ट, सहमति के किसी भी टाइप की स्ट्रिंग को 'granted'
या 'denied'
में से किसी एक पर मैप करता है. इसके लिए, ये वैल्यू इस्तेमाल की जा सकती हैं:
कुंजी का नाम | टाइप | ब्यौरा |
---|---|---|
consentType |
स्ट्रिंग | सहमति के हर टाइप के लिए, वैल्यू को `'granted'` या `'denied'` पर सेट किया जा सकता है. `'granted'` के अलावा किसी भी वैल्यू को `'denied'` के तौर पर माना जाएगा. वैल्यू को `undefined` पर सेट करने से, इसकी पिछली वैल्यू पर कोई असर नहीं पड़ेगा. |
region |
ऐरे | क्षेत्र के कोड का एक वैकल्पिक कलेक्शन. इससे यह तय किया जाता है कि सहमति की सेटिंग किस क्षेत्र पर लागू होंगी. क्षेत्र के कोड, ISO 3166-2 फ़ॉर्मैट में देश और/या उपविभागों के हिसाब से दिखाए जाते हैं. |
wait_for_update |
number | यह नीति, मिलीसेकंड में वैल्यू तय करती है. इससे यह कंट्रोल किया जाता है कि डेटा भेजने से पहले कितनी देर तक इंतज़ार करना है. इस कुकी का इस्तेमाल, सहमति लेने वाले उन टूल के साथ किया जाता है जो एसिंक्रोनस तरीके से लोड होते हैं. |
इससे जुड़ी अनुमतियां
consentSettings ऑब्जेक्ट में, सहमति के सभी टाइप के लिए access_consent
अनुमति.
setInWindow
यह फ़ंक्शन, दी गई कुंजी पर window
में दी गई वैल्यू सेट करता है. डिफ़ॉल्ट रूप से, अगर window
में कोई वैल्यू पहले से मौजूद है, तो यह तरीका उस वैल्यू को सेट नहीं करेगा. window
में वैल्यू सेट करने के लिए, overrideExisting
से true
तक की वैल्यू सेट करें. इससे कोई फ़र्क़ नहीं पड़ता कि कोई मौजूदा वैल्यू मौजूद है या नहीं. यह फ़ंक्शन बूलियन वैल्यू दिखाता है: वैल्यू सेट होने पर true
और वैल्यू सेट न होने पर false
.
सिंटैक्स
setInWindow(key, value, overrideExisting)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
key |
स्ट्रिंग | window में मौजूद वह कुंजी जहां वैल्यू को रखना है. |
value |
* | window में सेट की जाने वाली वैल्यू. |
overrideExisting |
boolean | यह फ़्लैग यह दिखाता है कि वैल्यू को window में सेट किया जाना चाहिए. भले ही, वहां कोई वैल्यू मौजूद हो या न हो. |
इससे जुड़ी अनुमतियां
sha256
यह फ़ंक्शन, इनपुट का SHA-256 डाइजेस्ट कैलकुलेट करता है. साथ ही, base64 में एन्कोड किए गए डाइजेस्ट के साथ कॉलबैक शुरू करता है. ऐसा तब तक होता है, जब तक options
ऑब्जेक्ट किसी दूसरे आउटपुट एन्कोडिंग के बारे में नहीं बताता.
उदाहरण:
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
सिंटैक्स
sha256(input, onSuccess, onFailure = undefined, options = undefined)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
input |
स्ट्रिंग | वह स्ट्रिंग जिसके लिए हैश का हिसाब लगाना है. |
onSuccess |
function | इस फ़ंक्शन को, base64 में कोड किए गए डाइजेस्ट के साथ कॉल किया जाता है. हालांकि, अगर options ऑब्जेक्ट में कोई दूसरा आउटपुट एन्कोडिंग तय किया गया है, तो ऐसा नहीं किया जाता. |
onFailure |
function | इस फ़ंक्शन को तब कॉल किया जाता है, जब डाइजेस्ट का हिसाब लगाते समय कोई गड़बड़ी होती है या ब्राउज़र में sha256 के लिए नेटिव सपोर्ट नहीं होता. इस कॉलबैक को एक ऐसे ऑब्जेक्ट के साथ कॉल किया जाता है जिसमें गड़बड़ी का नाम और मैसेज होता है. |
options |
object | आउटपुट एन्कोडिंग तय करने के लिए, वैकल्पिक विकल्पों वाला ऑब्जेक्ट. अगर यह ऑब्जेक्ट तय किया गया है, तो इसमें outputEncoding कुंजी होनी चाहिए. इसकी वैल्यू base64 या hex में से कोई एक होनी चाहिए. |
इससे जुड़ी अनुमतियां
कोई नहीं.
templateStorage
यह फ़ंक्शन, टेंप्लेट स्टोरेज को ऐक्सेस करने के तरीकों वाला ऑब्जेक्ट दिखाता है. टेंप्लेट स्टोरेज की मदद से, एक ही टेंप्लेट के अलग-अलग वर्शन के बीच डेटा शेयर किया जा सकता है. टेंप्लेट स्टोरेज में सेव किया गया डेटा, पेज के लाइफ़टाइम तक बना रहता है.
सिंटैक्स
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
इससे जुड़ी अनुमतियां
उदाहरण
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
toBase64
एपीआई की मदद से, किसी स्ट्रिंग को base64 कोड में बदला जा सकता है.
सिंटैक्स
toBase64(input)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
input |
स्ट्रिंग | कोड में बदलने के लिए स्ट्रिंग. |
उदाहरण
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
इससे जुड़ी अनुमतियां
कोई नहीं
updateConsentState
यह डेटा लेयर में सहमति से जुड़ा अपडेट पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग के प्रोसेस होने के बाद, इसे जल्द से जल्द प्रोसेस किया जा सके. इसके अलावा, ऐसा तब भी किया जा सकता है, जब टैग को प्रोसेस करने का टाइम आउट पूरा हो गया हो. इस कंटेनर में अपडेट को प्रोसेस करने की गारंटी है. ऐसा डेटा लेयर में मौजूद किसी भी आइटम से पहले किया जाता है. सहमति के बारे में ज़्यादा जानें.
उदाहरण:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
सिंटैक्स
updateConsentState(consentSettings)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
consentSettings |
object | यह एक ऐसा ऑब्जेक्ट है जो सहमति के तय किए गए टाइप के लिए, स्थिति को अपडेट करता है. |
consentSettings
ऑब्जेक्ट, सहमति के किसी भी टाइप की स्ट्रिंग को 'granted'
या 'denied'
में से किसी एक पर मैप करता है. इसके लिए, ये वैल्यू इस्तेमाल की जा सकती हैं:
कुंजी का नाम | टाइप | ब्यौरा |
---|---|---|
consentType |
स्ट्रिंग | हर तरह की सहमति के लिए, वैल्यू को 'मंज़ूरी दी गई' या 'अस्वीकार की गई' पर सेट किया जा सकता है. 'granted' के अलावा किसी भी वैल्यू को 'denied' माना जाएगा. वैल्यू को 'undefined' पर सेट करने से, इसकी पिछली वैल्यू पर कोई असर नहीं पड़ेगा. |
इससे जुड़ी अनुमतियां
consentSettings ऑब्जेक्ट में, सहमति के सभी टाइप के लिए access_consent
अनुमति.
टेस्ट एपीआई
ये एपीआई, सैंडबॉक्स JavaScript टेस्ट के साथ काम करते हैं. इनकी मदद से, Google Tag Manager में कस्टम टेंप्लेट के लिए टेस्ट बनाए जा सकते हैं. इन टेस्ट एपीआई के लिए, require()
स्टेटमेंट की ज़रूरत नहीं होती. कस्टम टेंप्लेट टेस्ट के बारे में ज़्यादा जानें.
assertApi
यह फ़ंक्शन, एक मैच करने वाला ऑब्जेक्ट दिखाता है. इसका इस्तेमाल, दिए गए एपीआई के बारे में आसानी से दावे करने के लिए किया जा सकता है.
सिंटैक्स
assertApi(apiName)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
apiName |
स्ट्रिंग | जांच करने के लिए एपीआई का नाम; यह वही स्ट्रिंग है जिसे require() को पास किया गया था.
|
मैचर
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
उदाहरण
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
assertThat
एपीआई को Google की [Truth] लाइब्रेरी के आधार पर बनाया गया है. यह एक ऐसा ऑब्जेक्ट दिखाता है जिसका इस्तेमाल, किसी विषय की वैल्यू के बारे में आसानी से दावे करने के लिए किया जा सकता है. दावे के फ़ेल होने पर, टेस्ट तुरंत बंद हो जाएगा और उसे फ़ेल के तौर पर मार्क कर दिया जाएगा. हालांकि, एक टेस्ट में फ़ेल होने से अन्य टेस्ट केस पर कोई असर नहीं पड़ेगा.
सिंटैक्स
assertThat(actual, opt_message)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
actual |
any | फ़्लुएंट चेक में इस्तेमाल की जाने वाली वैल्यू. |
opt_message |
स्ट्रिंग | अगर पुष्टि नहीं हो पाती है, तो प्रिंट करने के लिए वैकल्पिक मैसेज. |
मैचर
मैचर | ब्यौरा |
---|---|
isUndefined() |
इससे यह दावा किया जाता है कि विषय undefined है. |
isDefined() |
यह दावा करता है कि विषय undefined नहीं है. |
isNull() |
इससे यह दावा किया जाता है कि विषय null है. |
isNotNull() |
यह दावा करता है कि विषय null नहीं है. |
isFalse() |
इससे यह दावा किया जाता है कि विषय false है. |
isTrue() |
इससे यह दावा किया जाता है कि विषय true है. |
isFalsy() |
यह पुष्टि करता है कि विषय गलत है. ये फ़ॉल्सी वैल्यू हैं:
undefined , null , false ,
NaN , 0, और '' (खाली स्ट्रिंग). |
isTruthy() |
यह दावा करता है कि विषय सही है. ये फ़ॉल्सी वैल्यू हैं:
undefined , null , false ,
NaN , 0, और '' (खाली स्ट्रिंग). |
isNaN() |
यह पुष्टि करता है कि विषय की वैल्यू NaN है. |
isNotNaN() |
यह पुष्टि करता है कि विषय, NaN के अलावा कोई भी वैल्यू है. |
isInfinity() |
यह पुष्टि करता है कि विषय पॉज़िटिव या नेगेटिव इनफ़िनिटी है. |
isNotInfinity() |
यह पुष्टि करता है कि विषय, पॉज़िटिव या नेगेटिव इनफ़िनिटी के अलावा कोई भी वैल्यू है. |
isEqualTo(expected) |
यह पुष्टि करता है कि विषय, दी गई वैल्यू के बराबर है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है. |
isNotEqualTo(expected) |
यह दावा करता है कि विषय, दी गई वैल्यू के बराबर नहीं है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है. |
isAnyOf(...expected) |
यह दावा करता है कि विषय, दी गई वैल्यू में से किसी एक के बराबर है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है. |
isNoneOf(...expected) |
यह दावा करता है कि विषय, दी गई किसी भी वैल्यू के बराबर नहीं है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं है. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है. |
isStrictlyEqualTo(expected) |
यह दावा करता है कि विषय, दी गई वैल्यू के ठीक बराबर (=== ) है. |
isNotStrictlyEqualTo(expected) |
यह दावा करता है कि विषय, दी गई वैल्यू के ठीक बराबर (!== ) नहीं है. |
isGreaterThan(expected) |
इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि क्रम से तुलना करने पर, विषय की वैल्यू दी गई वैल्यू (> ) से ज़्यादा है. |
isGreaterThanOrEqualTo(expected) |
इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि क्रम से तुलना करने पर, विषय की वैल्यू दी गई वैल्यू (>= ) से ज़्यादा या उसके बराबर है. |
isLessThan(expected) |
इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि विषय, क्रम से तुलना करने पर दी गई वैल्यू से कम (< ) है. |
isLessThanOrEqualTo(expected) |
यह दावा करता है कि विषय, क्रम के हिसाब से तुलना करने पर दी गई वैल्यू (<= ) से कम या उसके बराबर है. |
contains(...expected) |
यह पुष्टि करता है कि विषय, एक ऐसी सरणी या स्ट्रिंग है जिसमें दिए गए सभी मान किसी भी क्रम में शामिल हैं. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं है. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है. |
doesNotContain(...expected) |
यह पुष्टि करता है कि विषय एक ऐसा ऐरे या स्ट्रिंग है जिसमें दी गई कोई भी वैल्यू शामिल नहीं है. यह वैल्यू की तुलना है, न कि रेफ़रंस की तुलना. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है. |
containsExactly(...expected) |
यह पुष्टि करता है कि विषय एक ऐसा ऐरे है जिसमें दी गई सभी वैल्यू किसी भी क्रम में शामिल हैं और कोई अन्य वैल्यू शामिल नहीं है. यह वैल्यू की तुलना है, न कि रेफ़रंस की तुलना. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है. |
doesNotContainExactly(...expected) |
यह पुष्टि करता है कि विषय एक ऐसी सरणी है जिसमें दिए गए मानों से अलग वैल्यू का सेट शामिल है. हालांकि, वैल्यू किसी भी क्रम में हो सकती हैं. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है. |
hasLength(expected) |
यह पुष्टि करता है कि विषय, दी गई लंबाई वाली एक सरणी या स्ट्रिंग है. अगर वैल्यू ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है. |
isEmpty() |
यह पुष्टि करता है कि विषय एक ऐसी स्ट्रिंग या ऐरे है जो खाली है (लंबाई = 0). अगर वैल्यू ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है. |
isNotEmpty() |
यह पुष्टि करता है कि विषय एक ऐसा कलेक्शन या स्ट्रिंग है जो खाली नहीं है (लंबाई > 0). अगर वैल्यू, ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है. |
isArray() |
यह दावा करता है कि विषय का टाइप एक ऐरे है. |
isBoolean() |
यह पुष्टि करता है कि विषय का टाइप बूलियन है. |
isFunction() |
यह पुष्टि करता है कि विषय का टाइप एक फ़ंक्शन है. |
isNumber() |
यह पुष्टि करता है कि विषय का टाइप एक संख्या है. |
isObject() |
यह दावा करता है कि विषय का टाइप एक ऑब्जेक्ट है. |
isString() |
यह पुष्टि करता है कि विषय का टाइप स्ट्रिंग है. |
उदाहरण
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
यह फ़ंक्शन, मौजूदा टेस्ट को तुरंत फ़ेल कर देता है. अगर कोई मैसेज दिया गया है, तो उसे प्रिंट करता है.
सिंटैक्स
fail(opt_message);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
opt_message |
स्ट्रिंग | गड़बड़ी के मैसेज का टेक्स्ट लिखना ज़रूरी नहीं है. |
उदाहरण
fail('This test has failed.');
mock
mock
API की मदद से, सैंडबॉक्स किए गए एपीआई के काम करने के तरीके को बदला जा सकता है. टेंप्लेट कोड में मॉक एपीआई का इस्तेमाल सुरक्षित है. हालांकि, यह सिर्फ़ टेस्ट मोड में काम करता है.
हर टेस्ट को चलाने से पहले, मॉक को रीसेट किया जाता है.
सिंटैक्स
mock(apiName, returnValue);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
apiName |
स्ट्रिंग | जिस एपीआई को मॉक करना है उसका नाम. यह वही स्ट्रिंग है जिसे require() को पास किया गया था |
returnValue |
any | एपीआई या एपीआई की जगह कॉल किए गए फ़ंक्शन के लिए, वैल्यू को वापस लाने का विकल्प. अगर returnValue कोई फ़ंक्शन है, तो Sandboxed API की जगह उस फ़ंक्शन को कॉल किया जाता है. अगर returnValue कोई फ़ंक्शन नहीं है, तो Sandboxed API की जगह उस वैल्यू को दिखाया जाता है. |
उदाहरण
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
mockObject
एपीआई की मदद से, सैंडबॉक्स किए गए उन एपीआई के व्यवहार को बदला जा सकता है जो ऑब्जेक्ट दिखाते हैं. एपीआई का इस्तेमाल, टेंप्लेट कोड में सुरक्षित तरीके से किया जा सकता है. हालांकि, यह सिर्फ़ टेस्ट मोड में काम करता है. हर टेस्ट को चलाने से पहले, मॉक को रीसेट किया जाता है.
सिंटैक्स
mockObject(apiName, objectMock);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
apiName |
स्ट्रिंग | जिस एपीआई को मॉक करना है उसका नाम. यह वही स्ट्रिंग है जिसे require() को पास किया गया था |
objectMock |
object | एपीआई या एपीआई की जगह कॉल किए गए फ़ंक्शन के लिए, वैल्यू को वापस लाने का विकल्प. यह एक ऑब्जेक्ट होना चाहिए. |
उदाहरण
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
यह टेम्प्लेट के लिए कोड को रन करता है. इसका मतलब है कि यह कोड टैब के कॉन्टेंट को, मौजूदा टेस्ट एनवायरमेंट में दिए गए इनपुट डेटा ऑब्जेक्ट के साथ रन करता है.
सिंटैक्स
runCode(data)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
data |
object | टेस्ट में इस्तेमाल किया जाने वाला डेटा ऑब्जेक्ट. |
रिटर्न वैल्यू
वैरिएबल टेंप्लेट के लिए, किसी वैरिएबल की वैल्यू दिखाता है. साथ ही, अन्य सभी टेंप्लेट टाइप के लिए undefined
दिखाता है.
उदाहरण
runCode({field1: 123, field2: 'value'});