Podstawowe interfejsy API
Interfejsy API współpracują z JavaScriptem w trybie piaskownicy do tworzenia szablonów niestandardowych w Menedżerze tagów Google. Każdy interfejs API jest dodawany do instrukcji require()
, np.
const myAPI = require('myAPI');
addConsentListener
Rejestruje funkcję odbiornika do wykonania 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” i „Odrzucono”. Typ zgody bez stanu jest uznawany za przyznany, więc odbiornik nie zostanie wywołany, gdy nieskonfigurowany typ zgody zostanie zmieniony. Za zapewnienie, że kod będzie uruchamiany odpowiednią liczbę razy, odpowiada funkcja detektora.
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 | Zmieni się typ zgody, na której nasłuchuje stan. |
listener |
Funkcja | Funkcja do uruchomienia w przypadku zmiany stanu określonego typu zgody. |
Wywołanie odbiornika powoduje przekazanie zmienionego typu zgody i jej nowej wartości:
Parametr | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | zmiana rodzaju zgody, |
granted |
boolean, | Wartość logiczna, która ma wartość „prawda”, jeśli określony typ zgody zostanie zmieniony na przyznany. |
Powiązane uprawnienia
access_consent
z uprawnieniami do odczytu typu zgody.
addEventCallback
Interfejs API addEventCallback
umożliwia zarejestrowanie funkcji wywołania zwrotnego, która jest wywoływana na końcu zdarzenia. Wywołanie zwrotne jest wywoływane po wykonaniu wszystkich tagów dla zdarzenia lub gdy upłynie limit czasu zdarzenia na stronie.
Wywołanie zwrotne przekazuje 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ć w tej tablicy odpowiedni wpis. Obiekt danych tagu zawiera identyfikator tagu (id ), stan wykonania (status ) i czas wykonania (executionTime ). Dane tagu będą zawierać dodatkowe metadane skonfigurowane w 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 ułatwia obsługę określonych tagów wymagających aliasów. Przypisuje wartość w obiekcie window
znalezionym w fromPath
do klucza w obiekcie window
w toPath
. Zwraca wartość true
, jeśli jest udana, false
.
Składnia
aliasInWindow(toPath, fromPath)
Parametry
Parametr | Typ | Opis |
---|---|---|
toPath |
ciąg znaków | Ścieżka rozdzielana kropkami w obiekcie window , do którego chcesz skopiować wartość. Obiekt w ścieżce do ostatniego komponentu musi już istnieć w obiekcie window . |
fromPath |
ciąg znaków | Ścieżka rozdzielana kropkami do wartości window , którą chcesz skopiować. Jeśli wartość nie istnieje, operacja się nie uda. |
Przykład
aliasInWindow('foo.bar', 'baz.qux')
Powiązane uprawnienia
access_globals
jest wymagany zarówno w przypadku toPath
, jak i fromPath
. toPath
wymaga uprawnień do zapisu, fromPath
– do odczytu.
callInWindow
Umożliwia wywoływanie funkcji ze ścieżki spoza obiektu window
w sposób kontrolowany przez zasadę. Wywołuje funkcję w danej ścieżce w window
z podanymi argumentami i zwraca wartość. Jeśli określonego typu wywołania nie można bezpośrednio zmapować na typ obsługiwany w kodzie JavaScript w trybie piaskownicy, zwracana jest wartość undefined
. W JavaScript w trybie piaskownicy działa 8 typów: null
, undefined
, boolean
, number
, string
, Array
, Object
i function
. Jeśli podana ścieżka nie istnieje lub nie odwołuje się do funkcji, zostanie zwrócona wartość undefined
.
Składnia
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parametry
Parametr | Typ | Opis |
---|---|---|
pathToFunction |
ciąg znaków | Ścieżka rozdzielana kropkami w funkcji window do wywołania. |
args |
* | Argumenty przekazywane do funkcji. |
Powiązane uprawnienia
access_globals
z włączonymi uprawnieniami execute
.
callLater
Planuje wywołanie funkcji w sposób asynchroniczny. Funkcja zostanie wywołana po zwróceniu bieżącego kodu. To odpowiednik setTimeout(<function>, 0)
.
Składnia
callLater(function)
Parametry
Parametr | Typ | Opis |
---|---|---|
function |
Funkcja | Funkcja, która ma być wywoływana. |
copyFromDataLayer
Zwraca wartość obecnie przypisaną do danego klucza w warstwie danych: wartość znalezioną w danym kluczu, jeśli jest to typ podstawowy, funkcja lub literał obiektu; w przeciwnym razie undefined
.
Składnia
copyFromDataLayer(key[, dataLayerVersion])
Parametry
Parametr | Typ | Opis |
---|---|---|
key |
ciąg znaków | Klucz ma format „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 w window
nie można bezpośrednio zmapować na typ obsługiwany w JavaScript w trybie piaskownicy, zostanie zwrócona wartość undefined
. Osiem typów obsługiwanych przez JavaScript w trybie piaskownicy to null
, undefined
, boolean
, number
, string
, Array
, Object
i function
.
Zwraca wartość pobranych (i wymuszonych)
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ę zawierającą obiekty z argumentami, która obsługuje rozwiązania, które tego wymagają.
Tworzy funkcję w zakresie globalnym (np. window
) przy użyciu argumentu fnKey
(taka sama semantyka co w funkcji createQueue
). Po utworzeniu funkcji ten interfejs API utworzy tablicę w obiekcie window
(jeśli jeszcze nie istnieje) przy użyciu argumentu arrayKey
.
Po wywołaniu funkcji utworzonej w funkcji fnKey
obiekt jej argumentu jest przekazywany do tablicy utworzonej w elemencie arrayKey
. Zwracana wartość interfejsu API to funkcja utworzona w metodzie fnKey
.
Ta funkcja wymaga ustawienia odczytu i zapisu na uprawnieniach fnKey
i arrayKey
w przypadku uprawnień 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 sekcji window , w której funkcja jest ustawiona, jeśli jeszcze nie istnieje. Ten argument obsługuje standardowy zapis kropki. Jeśli ścieżka klucza nie istnieje, zostanie zgłoszony wyjątek. Oznacza to, że jeśli fnKey ma wartość 'one.two' , zostanie zgłoszony wyjątek. |
arrayKey |
ciąg znaków | Ścieżka w window , w której ustawiona jest tablica, jeśli jeszcze nie istnieje. Ten argument obsługuje standardowy zapis kropki. Jeśli ścieżka klucza nie istnieje, zostanie zgłoszony wyjątek. Oznacza to, że jeśli arrayKey ma wartość 'one.two' i nie ma obiektu globalnego o nazwie 'one' , zostanie zgłoszony wyjątek. |
Powiązane uprawnienia
createQueue
Tworzy tablicę w window
(jeśli jeszcze nie istnieje) i zwraca funkcję, która przekazuje wartości do tej tablicy.
Ta funkcja wymaga ustawienia access_globals
do odczytu i zapisu na poziomie arrayKey
.
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 lokalizacji window , w którym została ustawiona tablica, jeśli jeszcze nie istnieje. Ten argument obsługuje standardowy zapis kropki. Jeśli ścieżka klucza nie istnieje, zostanie zgłoszony wyjątek. Jeśli na przykład arrayKey ma wartość 'one.two' , a obiekt globalny o nazwie 'one' nie istnieje, zostanie zgłoszony wyjątek. |
Powiązane uprawnienia
decodeUri
Dekoduje wszystkie zakodowane znaki w podanym identyfikatorze URI. Zwraca ciąg znaków reprezentujący zdekodowany identyfikator URI. Zwraca wartość undefined
, jeśli podano nieprawidłowe dane.
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 przez 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 identyfikatora URI. Zwraca wartość undefined
, jeśli podano nieprawidłowe dane.
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 przez encodeUriComponent() lub w inny sposób. |
Powiązane uprawnienia
Brak.
encodeUri
Zwraca zakodowany identyfikator URI (uniwersalny identyfikator zasobu), zmieniając znaczenie znaków specjalnych. Zwraca ciąg znaków reprezentujący podany ciąg znaków zakodowany jako identyfikator URI. Zwraca wartość undefined
, jeśli podano nieprawidłowe dane (samodzielny zastępnik).
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 (uniwersalny identyfikator zasobu), zmieniając znaczenie znaków specjalnych. Zwraca ciąg znaków reprezentujący podany ciąg znaków zakodowany jako identyfikator URI. Zwraca wartość undefined
, jeśli podano nieprawidłowe dane (samodzielny zastępnik).
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 podano nieprawidłowe dane.
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 o bieżącym kontenerze. 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 |
boolean, | Określa, czy wartości plików cookie mają być dekodowane za pomocą
decodeURIComponent() kodu JavaScript. Domyślna wartość to true . |
Powiązane uprawnienia
getQueryParameters
Zwraca pierwszy lub wszystkie parametry bieżącego adresu URL (queryKey
).
Zwraca pierwszą wartość z queryKey
lub tablica wartości z queryKey
.
Składnia
getQueryParameters(queryKey[, retrieveAll])
Parametry
Parametr | Typ | Opis |
---|---|---|
queryKey |
ciąg znaków | Klucz do odczytu z parametrów zapytania. |
retrieveAll |
boolean, | Określa, czy chcesz pobrać wszystkie wartości. |
Jeśli np. bieżący adres URL to 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']
Powiązane uprawnienia
get_url
musi zezwalać na komponent query
i musi wskazywać queryKey
w dozwolonych kluczach zapytania (lub na dowolny klucz zapytania).
getReferrerQueryParameters
Interfejs API getReferrerQueryParameters
działa tak samo jak getQueryParameters
, z wyjątkiem działania strony odsyłającej, a nie bieżącego adresu URL. Zwraca pierwszy lub wszystkie parametry queryKey
źródła 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 do odczytu z parametrów zapytania. |
retrieveAll |
boolean, | Określa, czy chcesz pobrać wszystkie wartości. |
Jeśli np. adres URL strony odsyłającej to 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']
Powiązane uprawnienia
get_referrer
musi zezwalać na komponent query
i musi wskazywać queryKey
w dozwolonych kluczach zapytań (lub na dowolny dowolny klucz zapytania).
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ślono ż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 żadnego z tych komponentów, zwracany jest cały adres URL. |
Powiązane uprawnienia
get_referrer
musi zezwalać na komponent query
i musi wskazywać queryKey
w dozwolonych kluczach zapytań (lub na dowolny dowolny klucz zapytania).
getTimestamp
Wycofane. Wybierz getTimestampMillis.
Zwraca liczbę oznaczającą bieżący czas w milisekundach od czasu uniksowego, zwracany przez funkcję Date.now()
.
Składnia
getTimestamp();
Powiązane uprawnienia
Brak.
getTimestampMillis
Zwraca liczbę oznaczającą bieżący czas w milisekundach od czasu uniksowego, zwracany 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
umożliwia rozróżnianie między array
a object
.
Składnia
getType(data.someField)
Notes
W tabeli poniżej znajdziesz ciągi tekstowe zwracane w przypadku każdej wartości wejściowej.
Wartość wejściowa | Wynik |
---|---|
undefined |
'nieokreślony' |
null |
'null' |
true |
„wartość logiczna” |
12 |
„liczba” |
'string' |
„ciąg znaków” |
{ a: 3 } |
„object” |
[ 1, 3 ] |
„tablica” |
(x) => x + 1 |
„funkcja” |
Powiązane uprawnienia
Brak.
getUrl
Zwraca ciąg znaków reprezentujący cały lub część bieżącego adresu URL, z uwzględnieniem typu komponentu i niektórych 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 nich, zostanie zwrócona cała wartość href . |
Powiązane uprawnienia
gtagSet
Wysyła polecenie zestawu tagów gtag do warstwy danych, które ma zostać przetworzone natychmiast po zakończeniu bieżącego zdarzenia i wprowadzonych przez niego tagach (lub po osiągnięciu limitu przetwarzania tagu). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed wszystkimi elementami w kolejce warstwy danych.
Jeśli na przykład wywołany jest tag wywołany przez zainicjowanie zgody, aktualizacja zostanie zastosowana przed przetworzeniem zdarzenia inicjowania. Na przykład ads_data_redaction
ma wartość true
, false
, url_passthrough
jest 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 |
obiekt | Obiekt, który aktualizuje stan globalny swoich właściwości. |
Powiązane uprawnienia
write_data_layer
sprawdza w dataLayer
uprawnienia do zapisu dla wszystkich określonych kluczy. Jeśli dane wejściowe gtagSet
są zwykłym obiektem, API będzie sprawdzać uprawnienia do zapisu dla wszystkich spłaszczonych kluczy w obiekcie, np. gtagSet({foo: {bar: 'baz'}})
, w przypadku interfejsu API sprawdza uprawnienie do zapisu dla elementu foo.bar
.
Jeśli dane wejściowe gtagSet
są kluczem i inną wartością obiektu innego niż zwykły, interfejs API sprawdzi uprawnienia do zapisu tego klucza, np. w przypadku gtagSet('abc', true)
będzie sprawdzać uprawnienia do zapisu w interfejsie 'abc'
.
Pamiętaj, że jeśli w obiekcie wejściowym występuje cykl, sprawdzane będą tylko klucze przed dotarciem do tego samego obiektu.
injectHiddenIframe
Dodaje niewidoczny element iframe do strony.
Wywołania zwrotne są traktowane jako instancje funkcji i są zawarte w funkcjach JavaScriptu, które do nich odwołują się.
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ływane, gdy ramka zostanie wczytana. |
Powiązane uprawnienia
injectScript
Dodaje do strony tag skryptu, który wczytuje asynchronicznie dany adres URL. Wywołania zwrotne są traktowane jako instancje funkcji i są zawarte w funkcjach JavaScriptu, które do nich odwołują się.
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ływane po załadowaniu skryptu. |
onFailure |
Funkcja | Wywoływane, gdy nie uda się wczytać skryptu. |
cacheToken |
ciąg znaków | Opcjonalny ciąg znaków używany do wskazania danego adresu URL w pamięci podręcznej. Jeśli ta wartość jest określona, utworzony zostanie tylko 1 element skryptu, który wysyła żądanie JavaScriptu. Każda kolejna próba ładowania spowoduje, że podane metody onSuccess i onFailure zostaną dodane do kolejki do momentu załadowania skryptu. |
Powiązane uprawnienia
isConsentGranted
Zwraca wartość „true”, jeśli użytkownik wyraził zgodę na określony typ zgody.
Uznaje się, że określony rodzaj zgody jest udzielany, jeśli ustawiono jako „Przyznano” lub w ogóle go nie ustawiono. Jeśli ustawisz inny typ zgody, nie zostanie ona uznana.
Ustawienia Menedżera tagów w sekcji Ustawienia tagu będą zawsze zawierać opcję uruchomienia. Jeśli tag z włączonym automatycznym uruchamianiem używa tego interfejsu API, zgoda jest uznawana za uzyskaną i zwracana jest true
, 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 typu zgody.
JSON
Zwraca obiekt z funkcjami JSON.
Funkcja parse()
analizuje ciąg JSON, tworząc wartość lub obiekt opisany przez ciąg znaków. Jeśli nie można przeanalizować wartości (np. w złym formacie JSON), funkcja zwróci undefined
. Jeśli dane wejściowe nie są ciągiem, dane wejściowe zostaną zmienione na ciąg znaków.
Funkcja stringify()
konwertuje dane wejściowe na ciąg znaków 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 string | dowolny | Wartość konwersji. Jeśli wartość nie jest ciągiem, dane wejściowe zostaną przekształcone w ciąg. |
JSON.stringify,
Parametr | Typ | Opis |
---|---|---|
wartość | dowolny | Wartość 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 dostępem 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 w konsoli przeglądarki argumenty.
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ść konwersji. |
Powiązane uprawnienia
Brak.
makeNumber
Konwertuje podaną wartość na liczbę.
Składnia
makeNumber(value)
Parametry
Parametr | Typ | Opis |
---|---|---|
value |
dowolny | Wartość 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ść konwersji. |
Powiązane uprawnienia
Brak.
makeTableMap
Przekształca prosty obiekt tabeli z 2 kolumnami w Map
. Służy do zmiany pola szablonu SIMPLE_TABLE
z 2 kolumnami na format łatwiejszy do zarządzania.
Na przykład ta funkcja może przekonwertować obiekt tabeli:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
do mapy:
{
'k1': 'v1',
'k2': 'v2'
}
Zwraca obiekt: przekonwertowana para Map
: jeśli zostały do niej dodane 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, z których 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 jest wartością kolumny w wierszu. |
keyColumnName |
ciąg znaków | Nazwa kolumny, której wartości staną się kluczami w przekonwertowanym obiekcie Map . |
valueColumnName |
ciąg znaków | Nazwa kolumny, której wartości staną się wartościami w Map po konwersji. |
Powiązane uprawnienia
Brak.
Math
Obiekt dostarczający funkcje 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 zachowanie obiektów Object.keys() w Bibliotece standardowej. Zwraca tablicę własnych właściwości liczbowych właściwości danego obiektu w takiej samej kolejności jak pętla for...in...
. Jeśli wartość wejściowa nie jest obiektem, zostanie ona zmieniona na obiekt.
Metoda values()
udostępnia zachowanie obiektów Object.values() w Bibliotece standardowej. Zwraca tablicę własnych wartości liczbowych właściwości danego obiektu w takiej samej kolejności jak pętla for...in...
. Jeśli dane wejściowe nie są obiektami, zostaną zmienione na obiekt.
Metoda entries()
udostępnia zachowanie standardowej biblioteki Object.entries(). Zwraca tablicę własnych właściwości liczbowych [key, value]
danego obiektu w tej samej kolejności co pętla for...in...
. Jeśli wartość wejściowa nie jest obiektem, zostanie ona zmieniona na obiekt.
Metoda freeze()
udostępnia zachowanie standardowej biblioteki Object.rost(). Zablokowanego obiektu nie można już zmienić. Zablokowanie obiektu uniemożliwia dodanie do niego nowych usług, usunięcie istniejących właściwości oraz zmianę istniejących. freeze()
zwraca ten sam obiekt, który został przekazany. Argument obiektu podstawowego lub pustego jest traktowany tak, jakby był zablokowany, i zostanie zwrócony.
Metoda delete()
udostępnia operator Delete w Bibliotece standardowej. Usuwa on dany 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 zostanie zablokowany, nawet jeśli druga wartość wejściowa (keyToDelete
) określa klucz, który nie istnieje. W pozostałych przypadkach zwraca wartość false
. Różni się on jednak od operatora usuwania Biblioteki standardowej w następujący sposób:
keyToDelete
nie może być ciągiem rozdzielanym kropkami określającym klucz zagnieżdżony.- Funkcji
delete()
nie można używać do usuwania elementów z tablicy. delete()
nie może służyć do usuwania żadnych właściwości z zakresu globalnego.
Składnia
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parametry
Obiekty.keys
Parametr | Typ | Opis |
---|---|---|
obiekt wejściowych | dowolny | Obiekt, którego klucze mają być wyliczane. Jeśli dane wejściowe nie są obiektami, zostaną zmienione na obiekt. |
Object.values
Parametr | Typ | Opis |
---|---|---|
obiekt wejściowych | dowolny | Obiekt, którego wartości zostaną obliczone. Jeśli dane wejściowe nie są obiektami, zostaną zmienione na obiekt. |
Obiekty.entries
Parametr | Typ | Opis |
---|---|---|
obiekt wejściowych | dowolny | Obiekt, którego pary klucz/wartość do wyliczenia. Jeśli dane wejściowe nie są obiektami, zostaną zmienione na obiekt. |
Obiekt.zamrożenie
Parametr | Typ | Opis |
---|---|---|
obiekt wejściowych | dowolny | Obiekt do zablokowania. Jeśli dane wejściowe nie są obiektami, będą traktowane jako zablokowany element. |
Object.delete
Parametr | Typ | Opis |
---|---|---|
obiekt wejściowych | dowolny | Obiekt, którego klucz do usunięcia. |
Usuwanie klucza | 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 zawierający wszystkie komponenty składowe danego adresu URL, podobny do obiektu URL
.
Ten interfejs API zwróci błąd undefined
w przypadku nieprawidłowego formatu adresu URL. W przypadku prawidłowo sformatowanych adresów URL pola, które nie znajdują się w ciągu adresu URL, będą miały wartość pustego ciągu, a w przypadku searchParams
– pusty obiekt.
Zwrócony 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
Wyślij zapytanie o uprawnienia dozwolone i zawężone. Zwraca wartość logiczną true
, jeśli uprawnienie zostało przyznane, lub false
w innym przypadku.
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. Zapoznaj się z sekcją Argumenty funkcji poniżej. |
Argumenty funkcji
sendPixel
, injectScript
, injectHiddenIframe
: drugi parametr powinien być ciągiem adresu URL.
writeGlobals
, readGlobals
: drugi parametr powinien być zapisanym lub odczytanym kluczem.
readUrl
: nie trzeba używać dodatkowych argumentów, by sprawdzić, czy można odczytać cały adres URL. Aby wysłać zapytanie, czy określony komponent można odczytać, przekaż jego nazwę jako drugi argument:
if (queryPermission('readUrl','port')) {
// read the port
}
Aby sprawdzić, czy dany klucz zapytania jest czytelny, przekaż ten klucz 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ść undefine, 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
Powoduje wysłanie żądania 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 do poprawnego działania mogą wymagać prawidłowej odpowiedzi obrazu. |
onFailure |
Funkcja | Wywoływane, gdy nie można wczytać piksela. Uwaga: nawet jeśli żądanie zostanie wysłane, narzędzie OnFailure może zostać uruchomione, jeśli serwer nie zwraca prawidłowej odpowiedzi obrazu. |
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 |
obiekt | Określa atrybuty Domena, Ścieżka, Wygasa, Maks. wiek, Bezpieczne i SameSite. (zobacz Opcje poniżej). |
encode |
boolean, | Określa, czy wartość pliku cookie ma być kodowana za pomocą encodeURIComponent() kodu JavaScript.
Domyślna wartość to true . |
- Domena: ustawiona przez właściwość
options['domain']
(jeśli istnieje). Ustaw tę wartość na'auto'
, aby zapisać plik cookie w jak najszerszej domenie na podstawie lokalizacji dokumentu. Jeśli to się nie uda, spróbuje kolejno kolejne subdomeny. Jeśli nie uda się to zrobić, spróbuje zapisać plik cookie bez domeny. Jeśli nie ustawisz żadnej wartości, spróbuje zapisać plik cookie bez określania domeny. Uwaga: gdy plik cookie bez określonej domeny jest zapisywany w poludocument.cookie
, klient użytkownika domyślnie ustawia domenę pliku cookie na bieżącą lokalizację dokumentu. - Ścieżka: ustawiona przez
options['path']
, jeśli występuje. Gdy w plikudocument.cookie
zostanie zapisany plik cookie bez określonej ścieżki, klient użytkownika będzie domyślnie ustawiał ścieżkę do bieżącej lokalizacji dokumentu. - Max-Age: wartość ustawiona przez
options['max-age']
, jeśli występuje. - Data ważności: ustawiona przez użytkownika
options['expires']
(jeśli występuje). Jeśli jest obecny, musi być ciągiem znaków daty UTC.Date.toUTCString()
może służyć do formatowaniaDate
dla tego parametru. - Bezpieczna:ustawiona na
options['secure']
, jeśli występuje. - SameSite: ustawiana przez zasadę
options['samesite']
(jeśli występuje).
Powiązane uprawnienia
setDefaultConsentState
Wysyła domyślną aktualizację zgody do warstwy danych, która ma zostać przetworzona natychmiast po zakończeniu bieżącego zdarzenia i w przypadku wszystkich uruchamianych przez niego tagów (lub gdy upłynie limit czasu przetwarzania tagów). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed wszystkimi 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 |
obiekt | Obiekt definiujący stan domyślny dla określonych typów zgody. |
Obiekt consentSettings
jest odwzorowaniem dowolnych ciągów typów zgody na przetwarzanie danych takich jak 'granted'
lub 'denied'
. Obsługiwane są te wartości:
Nazwa klucza | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | W przypadku każdego rodzaju zgody można ustawić wartość „Przyznano” lub „Odrzucono”. Wszystkie wartości inne niż „Przyznano” będą traktowane jako „odrzucone”. Ustawienie wartości „niezdefiniowane” nie będzie miało żadnego wpływu na poprzednią wartość. |
region |
Tablica | Opcjonalna tablica kodów regionów określających region, do którego mają zastosowanie ustawienia dotyczące zgody użytkownika. Kody regionów są podawane przy użyciu kraju lub podgrup w formacie ISO 3166-2. |
wait_for_update |
liczba | Określa milisekundę, aby określić czas oczekiwania na wysłanie danych. Używane z narzędziami do uzyskiwania zgody, które ładują się asynchronicznie. |
Powiązane uprawnienia
access_consent
z uprawnieniami do zapisu w przypadku wszystkich typów zgód w obiekcie ConsentSettings.
setInWindow
Ustawia określoną wartość w polu window
dla danego klucza. Domyślnie ta metoda nie ustawia wartości w polu window
, jeśli masz już określoną wartość. Ustaw overrideExisting
na 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
.
Składnia
setInWindow(key, value, overrideExisting)
Parametry
Parametr | Typ | Opis |
---|---|---|
key |
ciąg znaków | Klucz w języku window umożliwiający umieszczenie wartości. |
value |
* | Wartość do ustawienia w zasadzie window . |
overrideExisting |
boolean, | Flaga wskazująca, że wartość powinna być ustawiona w window , niezależnie od tego, czy zawiera wartość. |
Powiązane uprawnienia
sha256
Oblicza skrót SHA-256 danych wejściowych i wywołuje wywołanie zwrotne z podsumowaniem 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łuje się wynikowe kodowanie w formacie base64, chyba że obiekt options określa inne kodowanie danych wyjściowych. |
onFailure |
Funkcja | Wywoływane, jeśli 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 |
obiekt | Opcjonalne, aby określić kodowanie wyjściowe. Jeśli jest określony, obiekt powinien zawierać klucz outputEncoding z wartością base64 lub hex . |
Powiązane uprawnienia
Brak.
templateStorage
Zwraca obiekt z metodami uzyskiwania dostępu do magazynu szablonów. Pamięć szablonu umożliwia udostępnianie danych między uruchomieniami 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 znaków do zakodowania. |
Przykład
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Powiązane uprawnienia
Brak
updateConsentState
Przekazuje aktualizację zgody do warstwy danych w celu przetworzenia tak szybko, jak to możliwe, po zakończeniu bieżącego zdarzenia i wszelkich uruchamianych przez nie tagów (lub gdy osiągnięto limit czasu przetwarzania tagów). Gwarantujemy, że aktualizacja zostanie przetworzona w tym kontenerze przed jakimikolwiek elementami dodanymi do kolejki 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 |
obiekt | Obiekt aktualizujący stan określonych typów zgody. |
Obiekt consentSettings
jest odwzorowaniem dowolnych ciągów typów zgody na przetwarzanie danych takich jak 'granted'
lub 'denied'
. Obsługiwane są te wartości:
Nazwa klucza | Typ | Opis |
---|---|---|
consentType |
ciąg znaków | Wartością każdego rodzaju zgody może być „Przyznano” lub „Odrzucono”. Wszystkie wartości inne niż „udzielono” będą traktowane jako „odrzucone”. Ustawienie wartości jako „nieokreślona” nie będzie miało żadnego wpływu na poprzednią wartość. |
Powiązane uprawnienia
access_consent
z uprawnieniami do zapisu w przypadku wszystkich typów zgód w obiekcie ConsentSettings.
Przetestuj interfejsy API
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óry może być płynnie używany do podawania danego interfejsu API.
Składnia
assertApi(apiName)
Parametry
Parametr | Typ | Opis |
---|---|---|
apiName |
ciąg znaków | Nazwa interfejsu API, który należy sprawdzić; ten sam ciąg znaków, który został przekazany do require() .
|
Pasujące
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 Google [Truth]. Zwraca obiekt, który umożliwia płynne przedstawianie wartości obiektu. Nie udało się zatrzymać testu i oznaczyć go jako niepowodzenie. 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ść używana w przypadku sprawdzania płynnego. |
opt_message |
ciąg znaków | Opcjonalna wiadomość do wydrukowania w przypadku niepowodzenia potwierdzenia. |
Pasujące
Dopasowanie | Opis |
---|---|
isUndefined() |
Twierdzi, że temat to undefined . |
isDefined() |
Twierdzi, że temat to nie undefined . |
isNull() |
Twierdzi, że temat to null . |
isNotNull() |
Twierdzi, że temat to nie null . |
isFalse() |
Twierdzi, że temat to false . |
isTrue() |
Twierdzi, że temat to true . |
isFalsy() |
Twierdzi, że temat jest zniekształcony. Wartości Fals to undefined , null , false , NaN , 0 i '' (pusty ciąg znaków). |
isTruthy() |
Stwierdza, że podmiot jest prawdziwy. Wartości Fals to undefined , null , false , NaN , 0 i '' (pusty ciąg znaków). |
isNaN() |
Twierdzi, że obiekt jest wartością NaN. |
isNotNaN() |
Stwierdza, że podmiot nie ma wartości „NN”. |
isInfinity() |
Twierdzi, że podmiot jest dodatni lub nieskończony. |
isNotInfinity() |
Twierdzi, że podmiotem jest dowolna wartość dodatnia lub ujemna. |
isEqualTo(expected) |
stwierdza, że obiekt jest równy podanej wartości. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isNotEqualTo(expected) |
Stwierdza, że temat nie jest równy podanej wartości. To jest 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 jest 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ówna żadnej z podanych wartości. To jest porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
isStrictlyEqualTo(expected) |
Stwierdza, że temat jest identyczny (=== ) z podaną wartością. |
isNotStrictlyEqualTo(expected) |
Stwierdza, że temat nie jest ściśle równy !== . |
isGreaterThan(expected) |
Stwierdza, że temat jest większy niż (> ) dana wartość w porównaniu porównawczym. |
isGreaterThanOrEqualTo(expected) |
Stwierdza, że temat jest większy lub równy podanej wartości (>= ) w porównaniu porównawczym. |
isLessThan(expected) |
Stwierdza, że obiekt jest mniejszy niż (< ) podaną wartość w uporządkowanej porównaniu. |
isLessThanOrEqualTo(expected) |
twierdzi, że obiekt jest mniejszy lub równy (<= ) danej wartości w uporządkowanej analizie. |
contains(...expected) |
Twierdzi, że temat jest tablicą lub ciągiem znaków zawierającym wszystkie podane wartości w dowolnej kolejności. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
doesNotContain(...expected) |
Twierdzi, że temat jest tablicą lub ciągiem znaków, który nie zawiera żadnej z podanych wartości. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
containsExactly(...expected) |
Twierdzi, że temat jest tablicą zawierającą wszystkie podane wartości w dowolnej kolejności, bez żadnych innych wartości. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
doesNotContainExactly(...expected) |
Stwierdza, że temat to tablica zawierająca inny zbiór wartości niż podane wartości w dowolnej kolejności. Jest to porównanie wartości, a nie porównanie. Zawartość obiektów i tablic jest porównywana rekurencyjnie. |
hasLength(expected) |
Twierdzi, że temat jest tablicą lub ciągiem o określonej długości. Asercja zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą ani ciągiem znaków. |
isEmpty() |
Twierdzi, ż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() |
Twierdzi, że temat jest tablicą lub ciągiem znaków, 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 typ podmiotu to liczba. |
isObject() |
Twierdzi, że typ podmiotu jest obiektem. |
isString() |
Twierdzi, że typ podmiotu jest ciągiem znaków. |
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
Natychmiastowy test bieżącego wyniku kończy się niepowodzeniem i drukuje podaną wiadomość.
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 API mock
umożliwia zastąpienie działania interfejsów API piaskownicy. Interfejs API pozornego jest bezpieczny w kodzie szablonu, ale nie działa w trybie testowym. Próby są resetowane przed uruchomieniem każdego testu.
Składnia
mock(apiName, returnValue);
Parametry
Parametr | Typ | Opis |
---|---|---|
apiName |
ciąg znaków | Nazwa interfejsu API makiety; ten sam ciąg znaków, który został przekazany do require() |
returnValue |
dowolny | Wartość do zwrócenia dla interfejsu API lub funkcja wywoływana zamiast interfejsu API. Jeśli returnValue jest funkcją, która jest używana zamiast interfejsu Sandbox API, ta funkcja jest wywoływana zamiast interfejsu Sandbox API. Jeśli returnValue jest funkcją inną niż ta, zwracana jest wartość 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, tj. zawartość karty Kod, w bieżącym środowisku testowym z podanym obiektem danych wejściowych.
Składnia
runCode(data)
Parametry
Parametr | Typ | Opis |
---|---|---|
data |
obiekt | Obiekt danych do użycia w teście. |
Wartość zwrotu
Zwraca wartość zmiennej w szablonach zmiennych. W przypadku pozostałych typów szablonów zwraca wartość undefined
.
Przykład
runCode({field1: 123, field2: 'value'});