Podstawowe interfejsy API
Te interfejsy API współpracują z JavaScriptem w trybie piaskownicy, aby tworzyć szablony niestandardowe w Menedżerze tagów Google. Każdy interfejs API jest dodawany do instrukcji require()
, np.:
const myAPI = require('myAPI');
addConsentListener
Rejestruje funkcję detektora do wykonywania w przypadku zmiany stanu określonego typu zgody.
Dany odbiornik będzie wywoływany za każdym razem, gdy stan określonego typu zgody zmieni się z „Odrzucono” na „Przyznano” lub „Odrzucono”. Typ zgody bez stanu jest uznawany za przyznany, więc odbiornik nie zostanie wywołany, jeśli nieskonfigurowany typ zgody zostanie przyznany. Za działanie słuchaczy będzie odpowiadała określona liczba wystąpień kodu.
Przykład:
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);
});
}
Składnia
addConsentListener(consentType, listener)
Parametry
Parametr | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | Typ zgody na nasłuchiwanie zmian zmienia się. |
listener |
funkcja | Funkcja do uruchomienia w przypadku zmiany stanu określonego typu zgody. |
Po wywołaniu odbiornika przekazuje typ zgody, który jest zmieniany, oraz jego nową wartość:
Parametr | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | zmiana typu zgody, |
granted |
wartość logiczna | Wartość logiczna, która ma wartość true (prawda), jeśli określony typ zgody zostanie zmieniony na przyznany. |
Powiązane uprawnienia
access_consent
z uprawnieniami do odczytu dla typu zgody.
addEventCallback
Interfejs addEventCallback
API pozwala zarejestrować funkcję wywołania zwrotnego, która zostanie wywołana na końcu zdarzenia. Wywołanie zwrotne zostanie wykonane po wykonaniu wszystkich tagów dla zdarzenia lub po upływie czasu oczekiwania na zdarzenie na stronie.
Wywołanie zwrotne jest przekazywane 2 wartości: identyfikator kontenera wywołującego funkcję oraz obiekt zawierający informacje o zdarzeniu.
Składnia
addEventCallback(callback)
Parametry
Parametr | Typ | Opis |
---|---|---|
callback |
funkcja | Funkcja, która ma być wywoływana na końcu zdarzenia. |
Obiekt eventData
zawiera te dane:
Nazwa klucza | Typ | Opis |
---|---|---|
tags |
Tablica | Tablica obiektów danych tagów. Każdy tag, który został uruchomiony podczas zdarzenia, będzie zawierał wpis w tej tablicy. Obiekt danych tagu zawiera identyfikator tagu (id ), stan wykonania (status ) i czas jego wykonania (executionTime ). Dane tagu będą też zawierać dodatkowe metadane tagu skonfigurowane na poziomie tagu. |
Przykład
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Powiązane uprawnienia
aliasInWindow
Interfejs API aliasInWindow
umożliwia utworzenie aliasu (np. window.foo =
window.bar
), który pomaga obsługiwać niektóre tagi wymagające aliasów. Powoduje przypisanie wartości w obiekcie window
znalezionym w fromPath
do klucza obiektu window
w obiekcie toPath
. Zwraca wartość true
, jeśli operacja się powiedzie. false
w innym przypadku.
Składnia
aliasInWindow(toPath, fromPath)
Parametry
Parametr | Typ | Opis |
---|---|---|
toPath |
ciąg znaków | Ścieżka rozdzielona kropkami do obiektu window , do którego ma zostać skopiowana wartość. W komponencie window wszystkie komponenty na ścieżce do ostatniego komponentu muszą już istnieć. |
fromPath |
ciąg znaków | Ścieżka oddzielona kropką do window . Jeśli wartość nie istnieje, operacja się nie uda. |
Przykład
aliasInWindow('foo.bar', 'baz.qux')
Powiązane uprawnienia
access_globals
jest wymagana zarówno w przypadku toPath
, jak i fromPath
; toPath
wymaga uprawnień do zapisu, a fromPath
wymaga uprawnień do odczytu.
callInWindow
Pozwala wywoływać funkcje ze ścieżki spoza obiektu window
w sposób kontrolowany przez zasadę. Wywołuje funkcję w danej ścieżce w window
z określonymi argumentami i zwraca wartość. Jeśli typu zwrotu nie można bezpośrednio zmapować na typ obsługiwany w JavaScript w trybie piaskownicy, zwracana jest wartość undefined
. JavaScript w trybie piaskownicy obsługuje 8 typów: null
, undefined
, boolean
, number
, string
, Array
, Object
i function
. Jeśli dana ścieżka nie istnieje lub nie odwołuje się do danej funkcji, zostanie zwrócona wartość undefined
.
Składnia
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parametry
Parametr | Typ | Opis |
---|---|---|
pathToFunction |
ciąg znaków | Ścieżka oddzielona od kropki do funkcji w funkcji window do wywołania. |
args |
* | Argumenty przekazywane do funkcji. |
Powiązane uprawnienia
access_globals
z włączonym uprawnieniem execute
.
callLater
Planuje wywołanie funkcji, która odbywa się asynchronicznie. Funkcja będzie wywoływana po zwróceniu bieżącego kodu. To odpowiednik setTimeout(<function>, 0)
.
Składnia
callLater(function)
Parametry
Parametr | Typ | Opis |
---|---|---|
function |
funkcja | Funkcja do wywołania. |
copyFromDataLayer
Zwraca wartość obecnie przypisaną do danego klucza w warstwie danych: wartość znalezioną w przypadku danego klucza, jeśli jest to typ podstawowy, funkcja lub literał obiektu. W przeciwnym razie zwraca wartość undefined
.
Składnia
copyFromDataLayer(key[, dataLayerVersion])
Parametry
Parametr | Typ | Opis |
---|---|---|
key |
ciąg znaków | Klucz w formacie „a.b.c”. |
dataLayerVersion |
liczba | Opcjonalna wersja warstwy danych. Wartość domyślna to 2. Zdecydowanie odradzamy stosowanie wartości 1. |
Powiązane uprawnienia
copyFromWindow
Kopiuje zmienną z obiektu window
. Jeśli wartości window
nie można zmapować bezpośrednio na typ obsługiwany w JavaScript w trybie piaskownicy, zostanie zwrócona wartość undefined
. Osiem typów obsługiwanych przez kod JavaScript w trybie piaskownicy to null
, undefined
, boolean
, number
, string
, Array
, Object
i function
.
Zwraca wartość pobraną (i wymuszoną).
Składnia
copyFromWindow(key)
Parametry
Parametr | Typ | Opis |
---|---|---|
key |
ciąg znaków | Klucz w window , aby skopiować wartość. |
Powiązane uprawnienia
createArgumentsQueue
Tworzy kolejkę wypełnioną obiektami argumentów – aby obsługiwać rozwiązania, które ich wymagają.
Tworzy funkcję z zakresu globalnego (tj. window
) z argumentem fnKey
(taką samą semantyką jak createQueue
). Po utworzeniu funkcji ten interfejs API tworzy tablicę w komórce window
(jeśli jeszcze nie istnieje), używając argumentu arrayKey
.
Po wywołaniu funkcji utworzonej w funkcji fnKey
obiekt argumentu jest przenoszony do tablicy utworzonej w arrayKey
. Wartość zwracana przez API to funkcja utworzona w fnKey
.
Ta funkcja wymaga ustawienia fnKey
do arrayKey
odczytu i zapisu na poziomie uprawnienia access_globals
.
Przykład:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Składnia
createArgumentsQueue(fnKey, arrayKey)
Parametry
Parametr | Typ | Opis |
---|---|---|
fnKey |
ciąg znaków | Ścieżka w window , w której funkcja jest ustawiona, jeśli jeszcze nie istnieje. Ten argument obsługuje standardowy zapis kropek. Jeśli ścieżka klucza nie istnieje, zostanie podany wyjątek. To oznacza, że jeśli fnKey to 'one.two' , zostanie określony wyjątek. |
arrayKey |
ciąg znaków | Ścieżka w window , w której ustawiono tablicę, jeśli jeszcze nie istnieje. Ten argument obsługuje standardowy zapis kropek. Jeśli ścieżka klucza nie istnieje, zostanie podany wyjątek. Oznacza to, że jeśli arrayKey to 'one.two' , a obiekt globalny o nazwie 'one' nie istnieje, zostanie utworzony wyjątek. |
Powiązane uprawnienia
createQueue
Tworzy tablicę w window
(jeśli jeszcze nie istnieje) i zwraca funkcję, która będzie przekazywać do niej wartości.
Ta funkcja wymaga ustawienia arrayKey
do odczytu i zapisu na poziomie uprawnienia access_globals
.
Przykład:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Składnia
createQueue(arrayKey)
Parametry
Parametr | Typ | Opis |
---|---|---|
arrayKey |
ciąg znaków | Klucz w window , w którym została ustawiona tablica, jeśli nie istnieje. Ten argument obsługuje standardowy zapis kropek. Jeśli ścieżka klucza nie istnieje, zostanie podany wyjątek. Jeśli na przykład arrayKey to 'one.two' , a nie ma obiektu globalnego o nazwie 'one' , zostanie utworzony wyjątek. |
Powiązane uprawnienia
decodeUri
Dekoduje wszystkie zakodowane znaki w podanym identyfikatorze URI. Zwraca ciąg znaków, który reprezentuje zdekodowany identyfikator URI. Zwraca wartość undefined
po podaniu nieprawidłowych danych.
Przykład:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Składnia
decodeUri(encoded_uri)
Parametry
Parametr | Typ | Opis |
---|---|---|
encoded_uri |
ciąg znaków | Identyfikator URI zakodowany w encodeUri() lub w inny sposób. |
Powiązane uprawnienia
Brak.
decodeUriComponent
Dekoduje wszystkie zakodowane znaki w podanym komponencie URI. Zwraca ciąg znaków, który reprezentuje zdekodowany komponent URI. Zwraca wartość undefined
, jeśli podana wartość jest nieprawidłowa.
Przykład:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Składnia
decodeUriComponent(encoded_uri_component)
Parametry
Parametr | Typ | Opis |
---|---|---|
encoded_uri_component |
ciąg znaków | Komponent identyfikatora URI zakodowany w formacie encodeUriComponent() lub w inny sposób. |
Powiązane uprawnienia
Brak.
encodeUri
Zwraca zakodowany identyfikator URI (Uniform Resource Identifier), zmieniając znaczenie znaków specjalnych. Zwraca ciąg znaków, który reprezentuje podany ciąg znaków zakodowany jako identyfikator URI.
Przykład:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Składnia
encodeUri(uri)
Parametry
Parametr | Typ | Opis |
---|---|---|
uri |
ciąg znaków | Pełny identyfikator URI. |
Powiązane uprawnienia
Brak.
encodeUriComponent
Zwraca zakodowany identyfikator URI (Uniform Resource Identifier), zmieniając znaczenie znaków specjalnych. Zwraca ciąg znaków, który reprezentuje podany ciąg znaków zakodowany jako identyfikator URI.
Przykład:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Składnia
encodeUriComponent(str)
Parametry
Parametr | Typ | Opis |
---|---|---|
str |
ciąg znaków | Komponent identyfikatora URI. |
Powiązane uprawnienia
Brak.
fromBase64
Interfejs fromBase64
API umożliwia dekodowanie ciągów znaków z ich reprezentacji base64. Zwraca wartość undefined
, jeśli została podana z nieprawidłowymi danymi.
Składnia
fromBase64(base64EncodedString)
Parametry
Parametr | Typ | Opis |
---|---|---|
base64EncodedString |
ciąg znaków | Ciąg znaków zakodowany w standardzie Base64. |
Przykład
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Powiązane uprawnienia
Brak
generateRandom
Zwraca losową liczbę (liczbę całkowitą) w danym zakresie.
Składnia
generateRandom(min, max)
Parametry
Parametr | Typ | Opis |
---|---|---|
min |
liczba | Minimalna potencjalna wartość zwróconej liczby całkowitej. |
max |
liczba | Maksymalna potencjalna wartość zwróconej liczby całkowitej. |
Powiązane uprawnienia
Brak.
getContainerVersion
Zwraca obiekt zawierający dane bieżącego kontenera. Zwracany obiekt będzie zawierał te pola:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Przykład
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);
}
}
Składnia
getContainerVersion();
Powiązane uprawnienia
getCookieValues
Zwraca wartości wszystkich plików cookie o podanej nazwie.
Składnia
getCookieValues(name[, decode])
Parametry
Parametr | Typ | Opis |
---|---|---|
name |
ciąg znaków | Nazwa pliku cookie. |
decode |
wartość logiczna | Określa, czy wartości plików cookie mają być dekodowane za pomocą JavaScriptu decodeURIComponent() . Domyślna wartość to true . |
Powiązane uprawnienia
getQueryParameters
Zwraca pierwszy lub wszystkie parametry queryKey
bieżącego adresu URL.
Zwraca pierwszą wartość z tablicy queryKey
lub tablicę wartości z elementu queryKey
.
Składnia
getQueryParameters(queryKey[, retrieveAll])
Parametry
Parametr | Typ | Opis |
---|---|---|
queryKey |
ciąg znaków | Klucz, który należy odczytać z parametrów zapytania. |
retrieveAll |
wartość logiczna | Określa, czy pobrać wszystkie wartości. |
Jeśli np. obecny adres URL to https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, to:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Powiązane uprawnienia
get_url
musi zezwalać na komponent query
i musi określać wartość queryKey
w dozwolonych kluczach zapytania (lub pozwalać na dowolny klucz).
getReferrerQueryParameters
Interfejs getReferrerQueryParameters
API działa tak samo jak getQueryParameters
, z wyjątkiem działania strony odsyłającej, a nie obecnego adresu URL. Zwraca pierwszy lub wszystkie parametry elementu queryKey
strony odsyłającej. Zwraca pierwszą wartość z queryKey
lub tablica wartości z queryKey
.
Składnia
getReferrerQueryParameters(queryKey[, retrieveAll])
Parametry
Parametr | Typ | Opis |
---|---|---|
queryKey |
ciąg znaków | Klucz, który należy odczytać z parametrów zapytania. |
retrieveAll |
wartość logiczna | Określa, czy pobrać wszystkie wartości. |
Jeśli na przykład adres URL strony odsyłającej to https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, to:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Powiązane uprawnienia
get_referrer
musi zezwalać na komponent query
i musi określać wartość queryKey
w dozwolonych kluczach zapytania (lub pozwala na dowolny klucz).
getReferrerUrl
Biorąc pod uwagę typ komponentu, interfejs API odczytuje obiekt dokumentu dla strony odsyłającej i zwraca ciąg znaków reprezentujący część strony odsyłającej. Jeśli nie określisz żadnego komponentu, zwracany jest pełny adres URL strony odsyłającej.
Składnia
getReferrerUrl([component])
Parametry
Parametr | Typ | Opis |
---|---|---|
component |
ciąg znaków | Komponent, który ma być zwracany z adresu URL. Dostępne wartości: protocol , host , port , path , query , extension . Jeśli component to undefined , null lub nie pasuje do któregoś z tych komponentów, zwracany jest cały adres URL. |
Powiązane uprawnienia
get_referrer
musi zezwalać na komponent query
i musi określać wartość queryKey
w dozwolonych kluczach zapytania (lub pozwala na dowolny klucz).
getTimestamp
Wycofane. Wybierz getTimestampMillis.
Zwraca liczbę odpowiadającą aktualnej godzinie w milisekundach od początku epoki uniksowej, zwracaną przez funkcję Date.now()
.
Składnia
getTimestamp();
Powiązane uprawnienia
Brak.
getTimestampMillis
Zwraca liczbę odpowiadającą aktualnej godzinie w milisekundach od początku epoki uniksowej, zwracaną przez funkcję Date.now()
.
Składnia
getTimestampMillis();
Powiązane uprawnienia
Brak.
getType
Zwraca ciąg znaków opisujący typ podanej wartości. W przeciwieństwie do typeof
getType
różni się między array
a object
.
Składnia
getType(data.someField)
Notes
Poniższa tabela zawiera ciągi tekstowe zwrócone dla każdej wartości wejściowej.
Wartość wejściowa | Wynik |
---|---|
undefined |
„nieokreślony” |
null |
„null” |
true |
„wartość logiczna” |
12 |
„number” |
'string' |
„ciąg” |
{ a: 3 } |
„object” |
[ 1, 3 ] |
„tablica” |
(x) => x + 1 |
„funkcja” |
Powiązane uprawnienia
Brak.
getUrl
Zwraca ciąg znaków, który reprezentuje cały adres URL lub jego część, dla danego typu komponentu i określonych parametrów konfiguracyjnych.
Składnia
getUrl(component)
Parametry
Parametr | Typ | Opis |
---|---|---|
component |
ciąg znaków | Komponent, który ma być zwracany z adresu URL. Musi to być jedna z tych wartości: protocol , host , port , path , query , extension , fragment . Jeśli komponent to undefined , null lub nie pasuje do żadnego z tych komponentów, zostanie zwrócona cała wartość href . |
Powiązane uprawnienia
gtagSet
Wysyła polecenie zestawu tagów gtag do warstwy danych w celu przetworzenia, gdy tylko jest to możliwe po zakończeniu bieżącego zdarzenia i wszystkich wywołanych przez niego tagów (lub osiągnięciu limitu czasu przetwarzania tagu). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed wszystkimi elementami w kolejce warstwy danych.
Jeśli np. tag został wywołany przy użyciu inicjowania zgody, aktualizacja zostanie zastosowana przed przetworzeniem zdarzenia inicjowania. Przykładem może być ustawienie wartości ads_data_redaction
jako true
, false
lub url_passthrough
wartości true
lub false
.
Przykłady:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Składnia
gtagSet(object)
Parametry
Parametr | Typ | Opis |
---|---|---|
Object |
object | Obiekt, który aktualizuje stan globalny swoich właściwości. |
Powiązane uprawnienia
write_data_layer
sprawdza uprawnienia do zapisu dla wszystkich określonych kluczy dataLayer
. Jeśli dane wejściowe funkcji gtagSet
są zwykłym obiektem, to interfejs API sprawdza uprawnienia do zapisu dla wszystkich spłaszczonych kluczy w tym obiekcie, np. dla gtagSet({foo: {bar: 'baz'}})
, API sprawdza uprawnienia do zapisu dla foo.bar
.
Jeśli dane wejściowe funkcji gtagSet
są kluczem i pewną wartością obiektu innego niż zwykły, interfejs API sprawdzi uprawnienia do zapisu w tym kluczu, np. w przypadku gtagSet('abc', true)
będzie sprawdzać uprawnienia do zapisu w przypadku 'abc'
.
Pamiętaj, że jeśli cykl podlega obiektowi wejściowemu, sprawdzane będą tylko klucze przed dotarciem do tego samego obiektu.
injectHiddenIframe
Dodaje do strony niewidoczny element iframe.
Wywołania zwrotne są wywoływane jako instancje funkcji i opakowane przez funkcje JavaScript, które je wywołują.
Składnia
injectHiddenIframe(url, onSuccess)
Parametry
Parametr | Typ | Opis |
---|---|---|
url |
ciąg znaków | Adres URL, który ma być używany jako wartość atrybutu src elementu iframe. |
onSuccess |
funkcja | Wywoływana, gdy ramka zostanie wczytana. |
Powiązane uprawnienia
injectScript
Dodaje do strony tag skryptu, który umożliwia asynchroniczne wczytywanie określonego adresu URL. Wywołania zwrotne są dostarczane jako instancje funkcji i są otoczone funkcjami JavaScript, które je wywołują.
Składnia
injectScript(url, onSuccess, onFailure[, cacheToken])
Parametry
Parametr | Typ | Opis |
---|---|---|
url |
ciąg znaków | Adres skryptu, który ma zostać wstrzyknięty. |
onSuccess |
funkcja | Wywoływana po załadowaniu skryptu. |
onFailure |
funkcja | Wywoływana, gdy nie można wczytać skryptu. |
cacheToken |
ciąg znaków | Opcjonalny ciąg znaków używany do wskazania adresu URL w pamięci podręcznej. Jeśli ta wartość jest określona, do utworzenia kodu JavaScript zostanie utworzony tylko jeden element skryptu. Przy kolejnych próbach wczytania określone metody onSuccess i onFailure zostaną dodane do kolejki do momentu załadowania skryptu. |
Powiązane uprawnienia
isConsentGranted
Zwraca wartość „prawda”, jeśli typ zgody jest określony.
Zgoda w przypadku określonego typu zgody jest uznawana za udzieloną, jeśli typ zgody to „Przyznano” lub w ogóle nie został ustawiony. Jeśli jako rodzaj zgody wybierzesz inną wartość, zostanie ona uznana za nieudzieloną.
Ustawienia Menedżera tagów w interfejsie Menedżera tagów będą zawsze umożliwiały uruchomienie tagu. Jeśli tag z włączonym automatycznym uruchamianiem używa tego interfejsu API, zgoda jest uznawana za udzieloną, a zasada true
zostanie zwrócona niezależnie od rzeczywistego stanu zgody użytkownika.
Przykład:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Składnia
isConsentGranted(consentType)
Parametry
Parametr | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | Typ zgody, który chcesz sprawdzić. |
Powiązane uprawnienia
access_consent
z uprawnieniami do odczytu dla typu zgody.
JSON
Zwraca obiekt z funkcjami JSON.
Funkcja parse()
analizuje ciąg znaków JSON, aby utworzyć wartość lub obiekt opisany w tekście. Jeśli nie można przeanalizować wartości (np. uszkodzonych plików JSON), funkcja zwróci undefined
. Jeśli dane wejściowe nie są ciągiem, zostaną one przekształcone w ciąg.
Funkcja stringify()
konwertuje dane wejściowe na ciąg znaków w formacie JSON. Jeśli nie można przeanalizować wartości (np. obiekt ma cykl), metoda zwróci undefined
.
Składnia
JSON.parse(stringInput)
JSON.stringify(value);
Parametry
JSON.parse;
Parametr | Typ | Opis |
---|---|---|
dane wejściowe ciągu | dowolny | Wartość do konwersji. Jeśli wartość nie jest ciągiem, wartość wejściowa zostanie zastąpiona ciągiem znaków. |
JSON.stringify;
Parametr | Typ | Opis |
---|---|---|
wartość | dowolny | Wartość do konwersji. |
Przykład
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
Zwraca obiekt z metodami uzyskiwania dostępu do pamięci lokalnej.
Składnia
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);
Powiązane uprawnienia
Przykład
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
Loguje argumenty w konsoli przeglądarki.
Składnia
logToConsole(obj1 [, obj2,... objN])
Parametry
Parametr | Typ | Opis |
---|---|---|
obj1 [, obj2,... objN] |
dowolny | Argumenty |
Powiązane uprawnienia
makeInteger
Konwertuje podaną wartość na liczbę (liczbę całkowitą).
Składnia
makeInteger(value)
Parametry
Parametr | Typ | Opis |
---|---|---|
value |
dowolny | Wartość do konwersji. |
Powiązane uprawnienia
Brak.
makeNumber
Konwertuje podaną wartość na liczbę.
Składnia
makeNumber(value)
Parametry
Parametr | Typ | Opis |
---|---|---|
value |
dowolny | Wartość do konwersji. |
Powiązane uprawnienia
Brak.
makeString
Zwraca podaną wartość jako ciąg znaków.
Składnia
makeString(value)
Parametry
Parametr | Typ | Opis |
---|---|---|
value |
dowolny | Wartość do konwersji. |
Powiązane uprawnienia
Brak.
makeTableMap
Konwertuje prosty obiekt tabeli z 2 kolumnami na Map
. Służy do zmiany pola szablonu SIMPLE_TABLE
z 2 kolumnami na format, którym można łatwiej zarządzać.
Ta funkcja może na przykład przekonwertować obiekt tabeli:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
na mapę:
{
'k1': 'v1',
'k2': 'v2'
}
Zwraca obiekt: przekonwertowany Map
, jeśli został do niego dodany pary klucz-wartość, lub null
.
Składnia
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parametry
Parametr | Typ | Opis |
---|---|---|
tableObj |
Wyświetl listę | Obiekt tabeli do przekonwertowania. Jest to lista map, gdzie każdy Map reprezentuje wiersz w tabeli. Każda nazwa właściwości w obiekcie wiersza to nazwa kolumny, a wartość właściwości to wartość kolumny w wierszu. |
keyColumnName |
ciąg znaków | Nazwa kolumny, której wartości staną się kluczami w przekonwertowanym Map . |
valueColumnName |
ciąg znaków | Nazwa kolumny, której wartości staną się wartościami w przekonwertowanej komórce Map . |
Powiązane uprawnienia
Brak.
Math
Obiekt z funkcjami Math
.
Składnia
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);
Parametry
Parametry funkcji matematycznych są konwertowane na liczby.
Powiązane uprawnienia
Brak.
Object
Zwraca obiekt, który udostępnia metody Object
.
Metoda keys()
udostępnia standardową bibliotekę Object.keys() Biblioteki standardowej. Zwraca tablicę własnych nazw właściwości należących do danego obiektu w tej samej kolejności co pętla for...in...
. Jeśli wartość wejściowa nie jest obiektem, zostanie przekształcona w obiekt.
Metoda values()
zapewnia zachowanie klasy Object.values() w Bibliotece standardowej. Zwraca tablicę własnych wartości właściwości liczbowych właściwości w tej samej kolejności co pętla for...in...
. Jeśli wartość wejściowa nie jest obiektem, zostanie przekształcona w obiekt.
Metoda entries()
udostępnia standardową bibliotekę Object.entries() Biblioteki standardowej. Zwraca tablicę we własnej właściwości, którą jest wymienną [key, value]
obiektu w tej samej kolejności co pętla for...in...
. Jeśli wartość wejściowa nie jest obiektem, zostanie przekształcona w obiekt.
Metoda freeze()
zapewnia zachowanie biblioteki Object.rost() w Bibliotece standardowej. Zablokowanego obiektu nie można już zmienić. Zablokowanie obiektu uniemożliwia dodawanie do niego nowych usług, usuwanie istniejących właściwości i wartości istniejących. freeze()
zwraca ten sam obiekt, który został przekazany. Argument podstawowy lub pusty jest traktowany tak, jakby był zamrożonym obiektem i zostanie zwrócony.
Metoda delete()
zapewnia operator Biblioteki standardowej usuwania. Usuwa ten klucz z obiektu, chyba że jest on zablokowany.
Podobnie jak operator usuwania biblioteki standardowej, zwraca true
, jeśli pierwsza wartość wejściowa (objectInput
) jest obiektem, który nie jest zablokowany, nawet jeśli druga wartość wejściowa (keyToDelete
) określa klucz, który nie istnieje. Zwraca wartość false
we wszystkich pozostałych przypadkach. Różni się on jednak od operatora usuwania standardowej biblioteki w następujący sposób:
keyToDelete
nie może być ciągiem rozdzielanym kropkami wskazującym zagnieżdżony klucz.- Funkcji
delete()
nie można używać do usuwania elementów z tablicy. - Nie można użyć właściwości
delete()
do usunięcia żadnych usług z zakresu globalnego.
Składnia
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parametry
Object.keys
Parametr | Typ | Opis |
---|---|---|
Obiekt_wejściowy | dowolny | Obiekt, którego klucze mają być wyliczane. Jeśli dane wejściowe nie są obiektami, zostaną przeniesione do obiektu. |
Object.values
Parametr | Typ | Opis |
---|---|---|
Obiekt_wejściowy | dowolny | Obiekt, którego wartości mają być wyliczane. Jeśli dane wejściowe nie są obiektami, zostaną przeniesione do obiektu. |
Object.entries
Parametr | Typ | Opis |
---|---|---|
Obiekt_wejściowy | dowolny | Obiekt, którego pary klucz/wartość do wyliczenia. Jeśli dane wejściowe nie są obiektami, zostaną przeniesione do obiektu. |
Obiekt.zamrożenie
Parametr | Typ | Opis |
---|---|---|
Obiekt_wejściowy | dowolny | Obiekt do zablokowania. Jeśli dane wejściowe nie są obiektami, będą one traktowane jako zablokowane. |
Obiekt.delete
Parametr | Typ | Opis |
---|---|---|
Obiekt_wejściowy | dowolny | Obiekt, którego klucz do usunięcia. |
keyToDelete, | ciąg znaków | Klucz najwyższego poziomu do usunięcia. |
Przykład
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
Zwraca obiekt, który zawiera wszystkie części składowe danego adresu URL, podobnie jak obiekt URL
.
Ten interfejs API zwróci wartość undefined
w przypadku każdego nieprawidłowego adresu URL. W przypadku prawidłowo sformatowanych adresów URL pola, które nie znajdują się w ciągu adresu URL, będą mieć wartość, a w przypadku searchParams
– pusty obiekt.
Zwracany obiekt będzie zawierał te pola:
{
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,
}
Przykład
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Składnia
parseUrl(url);
Parametry
Parametr | Typ | Opis |
---|---|---|
url |
ciąg znaków | Pełny adres URL, który zostanie przeanalizowany. |
Powiązane uprawnienia
Brak.
queryPermission
Wysyłanie uprawnień (zawężonych) do uprawnień. Zwraca wartość logiczną: true
, jeśli przyznano uprawnienia. W przeciwnym razie false
.
Składnia
queryPermission(permission, functionArgs*)
Parametry
Parametr | Typ | Opis |
---|---|---|
permission |
ciąg znaków | Nazwa uprawnienia. |
functionArgs |
dowolny | Argumenty funkcji różnią się w zależności od poszukiwanego uprawnienia. Zobacz argumenty funkcji poniżej. |
Argumenty funkcji
sendPixel
, injectScript
, injectHiddenIframe
: drugi parametr powinien być ciągiem adresu URL.
writeGlobals
, readGlobals
: drugi parametr powinien być wartością zapisywaną lub odczytywaną.
readUrl
: do określenia, czy można odczytać cały adres URL, nie są potrzebne żadne dodatkowe argumenty. Aby przesłać zapytanie o możliwość odczytania danego komponentu, prześlij jego nazwę jako drugi argument:
if (queryPermission('readUrl','port')) {
// read the port
}
Aby sprawdzić, czy określony klucz zapytania jest czytelny, przekaż go jako trzeci parametr:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Powiązane uprawnienia
Brak.
readCharacterSet
Zwraca wartość document.characterSet
.
Składnia
readCharacterSet()
Parametry
Brak.
Powiązane uprawnienia
readTitle
Zwraca wartość document.title
.
Składnia
readTitle()
Parametry
Brak.
Powiązane uprawnienia
require
Importuje wbudowaną funkcję według nazwy. Zwraca funkcję lub obiekt, które można wywołać z programu. Zwraca wartość nieokreśloną, jeśli przeglądarka nie obsługuje wbudowanej funkcji.
Składnia
require(name)
Parametry
Parametr | Typ | Opis |
---|---|---|
name |
ciąg znaków | Nazwa funkcji do zaimportowania. |
Przykład
const getUrl = require('getUrl');
const url = getUrl();
Powiązane uprawnienia
Brak.
sendPixel
Wysyła żądanie GET do określonego punktu końcowego adresu URL.
Składnia
sendPixel(url, onSuccess, onFailure)
Parametry
Parametr | Typ | Opis |
---|---|---|
url |
ciąg znaków | Gdzie wysłać piksel. |
onSuccess |
funkcja | Wywoływane po załadowaniu piksela. Uwaga: nawet jeśli żądanie zostanie wysłane, przeglądarki mogą wymagać prawidłowej odpowiedzi z obrazem. |
onFailure |
funkcja | Wywoływane, gdy piksel się nie wczytuje. Uwaga: nawet jeśli żądanie zostanie wysłane, żądanie OnFailure może zostać uruchomione, jeśli serwer nie zwróci prawidłowej odpowiedzi graficznej. |
Powiązane uprawnienia
setCookie
Ustawia lub usuwa plik cookie z określoną nazwą, wartością i opcjami.
Składnia
setCookie(name, value[, options, encode])
Parametry
Parametr | Typ | Opis |
---|---|---|
name |
ciąg znaków | Nazwa pliku cookie. |
value |
ciąg znaków | Wartość pliku cookie. |
options |
object | Określa atrybuty Domena, Ścieżka, Wygasa, Maks. wiek, Bezpieczne i SameSite. (zobacz poniżej Opcje). |
encode |
wartość logiczna | Określa, czy wartość pliku cookie ma być kodowana za pomocą kodu encodeURIComponent() JavaScriptu.
Domyślna wartość to true . |
- Domena: ustawiona przez właściwość
options['domain']
(jeśli istnieje). Ustaw tę wartość na'auto'
, by zapisać plik cookie w najszerszej możliwej domenie na podstawie lokalizacji dokumentu. Jeśli to się nie uda, spróbuje kolejno kolejne subdomeny. Jeśli nie uda się zalogować, spróbuje zapisać plik cookie bez domeny. Jeśli nie ustawisz żadnej wartości, spróbujemy zapisać plik cookie bez podawania domeny. Uwaga: gdy plik cookie bez określonej domeny jest zapisany w plikudocument.cookie
, klient użytkownika domyślnie ustawia domenę tego pliku jako host bieżącej lokalizacji dokumentu. - Ścieżka: ustawiona przez
options['path']
, jeśli występuje. W przypadku zapisania w pliku cookie pliku cookie bez określonej ścieżkidocument.cookie
klient użytkownika ustawi domyślną ścieżkę pliku cookie do bieżącej lokalizacji dokumentu. - Max-Age: ustawiony przez
options['max-age']
, jeśli występuje. - Wygasa: ustawione przez użytkownika
options['expires']
, jeśli występuje. Jeśli jest obecny, musi być to ciąg znaków w formacie UTC.Date.toUTCString()
może być używany do formatowaniaDate
dla tego parametru. - Bezpieczna: ustawiona przez
options['secure']
, jeśli występuje. - SameSite: wskazuje
options['samesite']
, jeśli występuje.
Powiązane uprawnienia
setDefaultConsentState
Wysyła domyślną aktualizację zgody na warstwę danych do przetwarzania natychmiast po przetworzeniu bieżącego zdarzenia i wywołanych przez nie tagów (lub osiągnięciu limitu czasu przetwarzania tagu). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed elementami w kolejce w warstwie danych. Więcej informacji o zgodzie
Przykład:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Składnia
setDefaultConsentState(consentSettings)
Parametry
Parametr | Typ | Opis |
---|---|---|
consentSettings |
object | Obiekt, który określa stan domyślny dla określonych typów zgody |
Obiekt consentSettings
jest przyporządkowany do dowolnych ciągów typu zgody na wartość 'granted'
lub 'denied'
. Obsługiwane są te wartości:
Nazwa klucza | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | Wartością każdego typu zgody może być „Przyznano” lub „Odrzucono”. Wartości inne niż „Przyznano” będą traktowane jako „Nieodebrane”. Ustawienie wartości „nie określono” nie będzie miało wpływu na poprzednią wartość. |
region |
Tablica | Opcjonalny tablica kodów regionów określających region, do którego mają zastosowanie ustawienia zgody użytkownika. Kody regionów są wyrażone za pomocą krajów lub podgrup w formacie ISO 3166-2. |
wait_for_update |
liczba | Określa milisekundę, aby kontrolować czas oczekiwania na wysłanie danych. Używane z narzędziami do uzyskiwania zgody użytkowników, które ładują się asynchronicznie. |
Powiązane uprawnienia
access_consent
z uprawnieniami do zapisu dla wszystkich typów zgody w obiekcie consentSettings.
setInWindow
Ustawia daną wartość w funkcji window
w danym kluczu. Domyślnie ta metoda nie ustawia wartości w polu window
, jeśli wartość jest już określona. Ustaw overrideExisting
jako true
, aby ustawić wartość w window
niezależnie od obecności istniejącej wartości. Zwraca wartość logiczną: true
(jeśli wartość została ustawiona) lub false
(w przeciwnym razie).
Składnia
setInWindow(key, value, overrideExisting)
Parametry
Parametr | Typ | Opis |
---|---|---|
key |
ciąg znaków | Klucz w window , aby umieścić wartość. |
value |
* | Wartość do ustawienia w polu window . |
overrideExisting |
wartość logiczna | Flaga wskazująca, że ta wartość powinna być ustawiona w window , niezależnie od tego, czy ma wartość. |
Powiązane uprawnienia
sha256
Oblicza skrót SHA-256 danych wejściowych i wywołuje wywołanie zwrotne z skrótem zakodowanym w base64, chyba że obiekt options
określa inne kodowanie danych wyjściowych.
Przykład:
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'});
Składnia
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Parametry
Parametr | Typ | Opis |
---|---|---|
input |
ciąg znaków | Ciąg, dla którego chcesz obliczyć wartość skrótu. |
onSuccess |
funkcja | Wywoływane w wyniku uzyskanego skrótu zakodowane w base64, chyba że obiekt options określa inne kodowanie danych wyjściowych. |
onFailure |
funkcja | Wywoływana, gdy podczas obliczania skrótu wystąpił błąd lub przeglądarka nie obsługuje natywnego szyfrowania sha256. Wywołanie zwrotne jest wywoływane z obiektem zawierającym nazwę błędu i komunikat. |
options |
object | Opcjonalne, aby określić kodowanie danych wyjściowych. Jeśli jest określony, obiekt powinien zawierać klucz outputEncoding o wartości jednej z tych wartości: base64 lub hex . |
Powiązane uprawnienia
Brak.
templateStorage
Zwraca obiekt z metodami uzyskiwania dostępu do pamięci szablonu. Przechowywanie szablonów umożliwia udostępnianie danych między wykonaniami jednego szablonu. Dane przechowywane w szablonie są przechowywane przez cały okres istnienia strony.
Składnia
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Powiązane uprawnienia
Przykład
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
Interfejs toBase64
API umożliwia zakodowanie ciągu znaków w postaci reprezentacji Base64.
Składnia
toBase64(input)
Parametry
Parametr | Typ | Opis |
---|---|---|
input |
ciąg znaków | Ciąg do kodowania. |
Przykład
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Powiązane uprawnienia
Brak
updateConsentState
Wysyła aktualizację zgody do warstwy danych w celu przetworzenia jak najszybciej po zakończeniu bieżącego zdarzenia i wywołanych przez niego tagów (lub osiągnięciu limitu czasu przetwarzania tagów). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed wszystkimi elementami umieszczonymi w kolejce w warstwie danych. Więcej informacji o zgodzie
Przykład:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Składnia
updateConsentState(consentSettings)
Parametry
Parametr | Typ | Opis |
---|---|---|
consentSettings |
object | Obiekt, który aktualizuje stan w przypadku określonych typów zgody. |
Obiekt consentSettings
jest przyporządkowany do dowolnych ciągów typu zgody na wartość 'granted'
lub 'denied'
. Obsługiwane są te wartości:
Nazwa klucza | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | W przypadku każdego typu zgody można ustawić wartość „Przyznano” lub „Odrzucono”. Wartości inne niż „przyznano” będą traktowane jako „odrzucone”. Ustawienie wartości „undefine” nie ma wpływu na poprzednią wartość. |
Powiązane uprawnienia
access_consent
z uprawnieniami do zapisu dla wszystkich typów zgody w obiekcie consentSettings.
Interfejsy API testowania
Interfejsy API współpracują z testami JavaScript w trybie piaskownicy, aby tworzyć testy niestandardowych szablonów w Menedżerze tagów Google. Te testowe interfejsy API nie wymagają instrukcji require()
. Więcej informacji o testach szablonów niestandardowych
assertApi
Zwraca obiekt dopasowania, którego można używać do płynnego podawania danych danego interfejsu API.
Składnia
assertApi(apiName)
Parametry
Parametr | Typ | Opis |
---|---|---|
apiName |
ciąg znaków | Nazwa interfejsu API do sprawdzenia; ten sam ciąg przekazany do require() .
|
Pasujące dopasowania
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Przykłady
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
Interfejs API assertThat
jest wzorowany na bibliotece [Truth] Google. Zwraca obiekt, który może zostać płynnie udowodniony jako wartość podmiotu. Błąd potwierdzenia spowoduje natychmiastowe zatrzymanie testu i oznaczenie go jako nieudanego. Jednak błąd w jednym teście nie będzie miał wpływu na pozostałe przypadki testowe.
Składnia
assertThat(actual, opt_message)
Parametry
Parametr | Typ | Opis |
---|---|---|
actual |
dowolny | Wartość do sprawdzenia biegłości. |
opt_message |
ciąg znaków | Opcjonalna wiadomość do wydrukowania w przypadku niepowodzenia potwierdzenia. |
Pasujące dopasowania
Dopasowanie | Opis |
---|---|
isUndefined() |
Stwierdza, że temat to undefined . |
isDefined() |
Stwierdza, że temat nie jest undefined . |
isNull() |
Stwierdza, że temat to null . |
isNotNull() |
Stwierdza, że temat nie jest null . |
isFalse() |
Stwierdza, że temat to false . |
isTrue() |
Stwierdza, że temat to true . |
isFalsy() |
Twierdzi, że temat jest bezsensowny. Wartości faliste to undefined , null , false , NaN , 0 i '' (pusty ciąg znaków). |
isTruthy() |
Stwierdza, że podmiot jest prawdziwy. Wartości faliste to undefined , null , false , NaN , 0 i '' (pusty ciąg znaków). |
isNaN() |
Stwierdza, że obiekt to wartość NaN. |
isNotNaN() |
Stwierdza, że obiekt ma dowolną wartość inną niż NaN. |
isInfinity() |
Stwierdza, że temat jest dodatni lub negatywny. |
isNotInfinity() |
Stwierdza, że temat jest dowolną wartością inną niż dodatnia lub ujemna. |
isEqualTo(expected) |
Stwierdza, że obiekt jest równy danej wartości. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isNotEqualTo(expected) |
Stwierdza, że obiekt nie jest równy danej wartości. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isAnyOf(...expected) |
Stwierdza, że temat jest równy jednej z podanych wartości. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isNoneOf(...expected) |
Stwierdza, że temat nie jest równy żadnej z podanych wartości. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isStrictlyEqualTo(expected) |
Stwierdza, że obiekt (=== ) jest identyczny z podaną wartością. |
isNotStrictlyEqualTo(expected) |
Stwierdza, że obiekt nie jest ściśle równy !== (wartości). |
isGreaterThan(expected) |
Stwierdza, że temat jest większy niż (> ) określona wartość w porównywanym porównaniu. |
isGreaterThanOrEqualTo(expected) |
Stwierdza, że temat jest większy niż lub równy (>= ) danej wartości w porównywanym porównaniu. |
isLessThan(expected) |
Stwierdza, że temat jest niższy od (< ) podanej wartości w porównywanym porównaniu. |
isLessThanOrEqualTo(expected) |
W porównaniu uporządkowanych danych stwierdza, że obiekt jest mniejszy lub równy (<= ). |
contains(...expected) |
Stwierdza, że temat jest tablicą lub ciągiem znaków zawierającym wszystkie wartości w dowolnej kolejności. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
doesNotContain(...expected) |
Stwierdza, że temat jest tablicą lub ciągiem znaków, który nie zawiera żadnej z podanych wartości. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
containsExactly(...expected) |
Stwierdza, że temat jest tablicą zawierającą wszystkie podane wartości w dowolnej kolejności, bez żadnych innych wartości. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
doesNotContainExactly(...expected) |
Stwierdza, że temat jest tablicą zawierającą inny zestaw wartości od podanych w dowolnej kolejności. To porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
hasLength(expected) |
Stwierdza, że temat jest tablicą lub ciągiem znaków o określonej długości. Asercja zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą ani ciągiem znaków. |
isEmpty() |
Stwierdza, że temat jest tablicą lub ciągiem pustym (length = 0). Asercja zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą ani ciągiem znaków. |
isNotEmpty() |
Stwierdza, że temat jest tablicą lub ciągiem, który nie jest pusty (długość > 0). Asercja zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą ani ciągiem znaków. |
isArray() |
Twierdzi, że typ podmiotu to tablica. |
isBoolean() |
Twierdzi, że typ podmiotu jest wartością logiczną. |
isFunction() |
Twierdzi, że typ podmiotu to funkcja. |
isNumber() |
Twierdzi, że rodzaj tematu to liczba. |
isObject() |
stwierdza, że typ podmiotu to obiekt. |
isString() |
Twierdzi, że typ podmiotu jest ciągiem. |
Przykłady
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
Natychmiastowo kończy się bieżący test i drukuje określoną wiadomość (jeśli została podana).
Składnia
fail(opt_message);
Parametry
Parametr | Typ | Opis |
---|---|---|
opt_message |
ciąg znaków | Opcjonalny tekst komunikatu o błędzie. |
Przykład
fail('This test has failed.');
mock
Interfejs mock
API pozwala zastąpić działanie interfejsów API piaskownicy. Pozorowanie interfejsu API jest bezpieczne w kodzie szablonu, ale nie działa w trybie testowym. Pozorowane testy są resetowane przed uruchomieniem każdego testu.
Składnia
mock(apiName, returnValue);
Parametry
Parametr | Typ | Opis |
---|---|---|
apiName |
ciąg znaków | Nazwa interfejsu API do pozorowania; ten sam ciąg znaków, który jest przekazywany do require() |
returnValue |
dowolny | Wartość, która ma zostać zwrócona dla interfejsu API lub funkcja wywoływana zamiast interfejsu API. Jeśli returnValue to funkcja, która jest wywoływana zamiast interfejsu Sandbox API. Jeśli returnValue stanowi coś innego niż funkcja, ta wartość jest zwracana zamiast interfejsu Sandbox API. |
Przykłady
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
runCode
Uruchamia kod szablonu, czyli zawartość karty Code, w bieżącym środowisku testowym z danym obiektem danych wejściowych.
Składnia
runCode(data)
Parametry
Parametr | Typ | Opis |
---|---|---|
data |
object | Obiekt danych do użycia w teście. |
Zwrócona wartość
Zwraca wartość zmiennej w przypadku szablonów zmiennych; w przypadku pozostałych typów szablonów zwraca wartość undefined
.
Przykład
runCode({field1: 123, field2: 'value'});