Interfejsy API szablonów niestandardowych

Podstawowe interfejsy API

Te interfejsy API współpracują z JavaScriptem w trybie piaskownicy, aby tworzyć szablony niestandardowe w Google Menedżer tagów. Każdy interfejs API jest dodawany za pomocą instrukcji require(), np.

const myAPI = require('myAPI');

addConsentListener

Rejestruje funkcję detektora, która ma być wykonywana, gdy stan określonej zgody zmiany typu.

Dany detektor będzie wywoływany za każdym razem, gdy określony zostanie stan typ zgody zmienia się z „Odrzucono” na „Przyznano” lub z „Przyznano” na „Odrzucono”. Zgoda typ bez stanu jest uznawany za przyznany, więc detektor nie zostanie wywołany, jeśli typ zgody nieskonfigurowanej został zmieniony na „Przyznano”. Funkcje nasłuchiwania będą odpowiedzialne dbanie o to, aby kod był uruchamiany odpowiednią liczbę razy.

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, który ma nasłuchiwać zmian stanu.
listener funkcja Funkcja do uruchomienia w przypadku wystąpienia stanu określonego typu zgody zmian.

Po wywołaniu detektora przekazywany jest typ zgody a nową wartością tego typu zgody:

Parametr Typ Opis
consentType ciąg znaków Typ zgody, który zostanie zmieniony.
granted boolean (wartość logiczna). Wartość logiczna, która ma wartość prawda, jeśli zmienia się określony typ zgody. przyznanych.

Powiązane uprawnienia

access_consent z uprawnieniami do odczytu danego typu zgody.


addEventCallback

Interfejs API addEventCallback umożliwia zarejestrowanie funkcji wywołania zwrotnego, która będzie zostanie wywołana po zakończeniu zdarzenia. Wywołanie zwrotne jest wywoływane, gdy wszystkie związane ze zdarzeniem lub po upływie czasu oczekiwania dla zdarzenia na stronie. Wywołanie zwrotne przekazuje 2 wartości: identyfikator kontenera, który wywołuje metodę i obiektu z informacjami o zdarzeniu.

Składnia

addEventCallback(callback)

Parametry

Parametr Typ Opis
callback funkcja Funkcja do wywołania po zakończeniu zdarzenia.

Obiekt eventData zawiera te dane:

Nazwa klucza Typ Opis
tags Tablica Tablica obiektów danych tagów. Wszystkie tagi, które zostały uruchomione podczas zdarzenia będzie mieć wpis w tej tablicy. Obiekt danych tagu zawiera funkcje identyfikator tagu (id), stan jego wykonania (status) i czasie wykonywania tej czynności (executionTime). Dane z tagu będą też zawierać dodatkowe skonfigurowanych w tagu.

Przykład

addEventCallback(function(ctid, eventData) {
  logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});

Powiązane uprawnienia

read_event_metadata


aliasInWindow

Interfejs API aliasInWindow umożliwia utworzenie aliasu (np. window.foo = window.bar), który pomaga obsługiwać określone tagi, które wymagają aliasu. Przypisuje wartość w obiekcie window znalezionym w punkcie fromPath dla klucza w argumencie window obiekt w toPath. Jeśli operacja się udała, zwraca wartość true: false w przeciwnym razie.

Składnia

aliasInWindow(toPath, fromPath)

Parametry

Parametr Typ Opis
toPath ciąg znaków Oddzielona kropkami ścieżka do obiektu window, gdzie wartość powinny zostać skopiowane. Wszystkie komponenty na ścieżce do ostatniego komponentu musi już istnieć w obiekcie window.
fromPath ciąg znaków Rozdzielona kropkami ścieżka prowadząca do wartości window do skopiowania. Jeśli wartość nie istnieje, operacja zakończy się niepowodzeniem.

Przykład

aliasInWindow('foo.bar', 'baz.qux')

Powiązane uprawnienia

Parametr access_globals jest wymagany zarówno dla toPath, jak i fromPath; toPath wymaga uprawnień do zapisu, fromPath wymaga uprawnień do odczytu.


callInWindow

Umożliwia wywoływanie funkcji ze ścieżki spoza obiektu window w zasadzie w bardziej kontrolowany sposób. Wywołuje funkcję w podanej ścieżce w funkcji window z podanym argumentem i zwraca wartość. Jeśli zwracanego typu nie można bezpośrednio zmapować jest typem obsługiwanym w JavaScripcie w trybie piaskownicy, zostanie zwrócony undefined. 8 typów obsługiwanych w JavaScript w trybie piaskownicy to null, undefined, boolean, number, string, Array, Object i function. Jeśli podana wartość ścieżka nie istnieje lub nie odwołuje się do funkcji, undefined zostanie .

Składnia

callInWindow(pathToFunction, argument [, argument2,... argumentN])

Parametry

Parametr Typ Opis
pathToFunction ciąg znaków Oddzielona kropkami ścieżka do funkcji w window do .
args * Argumenty, które mają być przekazywane do funkcji.

Powiązane uprawnienia

access_globals z włączonymi uprawnieniami execute.


callLater

Planuje asynchroniczne wywołanie funkcji. Funkcja zostanie po zwróceniu bieżącego kodu. Jest to odpowiednik setTimeout(<function>, 0)

Składnia

callLater(function)

Parametry

Parametr Typ Opis
function funkcja Funkcja do wywołania.

copyFromDataLayer

Zwraca wartość aktualnie przypisaną do danego klucza w warstwie danych: wartość znaleziona przy danym kluczu, jeśli jest to typ podstawowy, funkcja lub obiekt literału lub w innym przypadku undefined.

Składnia

copyFromDataLayer(key[, dataLayerVersion])

Parametry

Parametr Typ Opis
key ciąg znaków Klucz w formacie „a.b.c”.
dataLayerVersion liczba Opcjonalne dane wersji warstwy. Wartością domyślną jest 2. Zdecydowanie odradzamy użyj wartości 1.

Powiązane uprawnienia

read_data_layer


copyFromWindow

Kopiuje zmienną z obiektu window. Jeśli wartość w funkcji window nie może być bezpośrednio zmapowane na typ obsługiwany w JavaScript w trybie piaskownicy, undefined zostanie . Oto 8 typów obsługiwanych w języku JavaScript w trybie piaskownicy: null, undefined, boolean, number, string, Array, Object i function. Zwraca pobraną (i przekształconą) wartość.

Składnia

copyFromWindow(key)

Parametry

Parametr Typ Opis
key ciąg znaków Klucz w obiekcie window, z którego ma zostać skopiowana wartość.

Powiązane uprawnienia

access_globals


createArgumentsQueue

Tworzy kolejkę wypełnioną obiektami argumentów, obsługując tag i wymagających rozwiązań.

Tworzy funkcję w zakresie globalnym (tj. window) przy użyciu argumentu fnKey (ta sama semantyka co createQueue). Po utworzeniu funkcji ten interfejs API tworzy tablicę w funkcji window (jeśli jeszcze nie istnieje) przy użyciu funkcji arrayKey .

Gdy wywoływana jest funkcja utworzona pod nagłówkiem fnKey, przekazuje ona swoje argumenty na tablicę utworzoną w arrayKey. Wartością zwrotną interfejsu API jest utworzonej w funkcji fnKey.

Ta funkcja wymaga ustawienia odczytu i zapisu w fnKey i arrayKey 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 polu window, w której ustawiona jest funkcja (jeśli występuje). które jeszcze nie istnieją. Ten argument obsługuje standardowy zapis z kropkami. Jeśli ścieżka klucza nie istnieje, został zgłoszony wyjątek. Oznacza to, że jeśli fnKey wynosi 'one.two' i spowoduje wyświetlenie wyjątek.
arrayKey ciąg znaków Ścieżka w polu window, w której ustawiona jest tablica (jeśli nie jest ustawiona). już istnieje. Ten argument obsługuje standardowy zapis z kropkami. Jeśli ścieżka klucza nie istnieje, został zgłoszony wyjątek. Oznacza to, że jeśli arrayKey wynosi 'one.two' i nie ma obiekt globalny o nazwie 'one' spowoduje przesłanie żądania wyjątek.

Powiązane uprawnienia

access_globals


createQueue

Tworzy tablicę w funkcji window (jeśli jeszcze nie istnieje) i zwraca która przenosi wartości do tej tablicy.

Ta funkcja wymaga ustawienia odczytu i zapisu dla arrayKey na 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 polu window, w którym ustawiona jest tablica (jeśli nie jest ustawiona) już istnieje. Ten argument obsługuje standardowy zapis z kropkami. Jeśli ścieżka klucza nie istnieje, został zgłoszony wyjątek. Na przykład, jeśli arrayKey wynosi 'one.two' i nie ma obiekt globalny o nazwie 'one' spowoduje przesłanie żądania wyjątek.

Powiązane uprawnienia

access_globals


decodeUri

Dekoduje wszystkie zakodowane znaki w podanym identyfikatorze URI. Zwraca ciąg znaków, który reprezentuje zdekodowany identyfikator URI. Zwraca wartość undefined, jeśli podano nieprawidłową dane wejściowe.

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 reprezentujący zdekodowany komponent identyfikatora URI. Zwraca undefined, gdy podano nieprawidłowe dane wejściowe.

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 URI zakodowany przez encodeUriComponent() lub w inny sposób.

Powiązane uprawnienia

Brak.


encodeUri

Zwraca zakodowany identyfikator URI (Uniform Resource Identifier) przez zmianę znaczenia znaków. Zwraca ciąg znaków, który reprezentuje podany ciąg znaków zakodowany jako identyfikator URI. Zwraca undefined z nieprawidłowymi danymi wejściowymi (samotny 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 (Uniform Resource Identifier) przez zmianę znaczenia znaków. Zwraca ciąg znaków, który reprezentuje podany ciąg znaków zakodowany jako identyfikator URI. Zwraca undefined z nieprawidłowymi danymi wejściowymi (samotny zastępnik).

Przykład:

sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));

Składnia

encodeUriComponent(str)

Parametry

Parametr Typ Opis
str ciąg znaków Składnik identyfikatora URI.

Powiązane uprawnienia

Brak.


fromBase64

Interfejs API fromBase64 umożliwia dekodowanie ciągów znaków w formacie base64. reprezentacja. Zwraca undefined, jeśli podano nieprawidłowe dane wejściowe.

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ę (całkowitą) z podanego zakresu.

Składnia

generateRandom(min, max)

Parametry

Parametr Typ Opis
min liczba Minimalna wartość potencjalna zwróconej liczby całkowitej.
max liczba Maksymalna wartość potencjalna zwróconej liczby całkowitej.

Powiązane uprawnienia

Brak.


getContainerVersion

Zwraca obiekt zawierający dane o bieżącym kontenerze. Zwrócone wartości zawiera następujące 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

read_container_data


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 (wartość logiczna). Określa, czy wartości plików cookie mają być dekodowane za pomocą JavaScript decodeURIComponent() Domyślna wartość to true

Powiązane uprawnienia

get_cookies


getQueryParameters

Zwraca pierwszy lub wszystkie parametry bieżącego adresu URL (queryKey). Zwraca pierwszą wartość z funkcji queryKey lub tablicy wartości z funkcji queryKey

Składnia

getQueryParameters(queryKey[, retrieveAll])

Parametry

Parametr Typ Opis
queryKey ciąg znaków Klucz do odczytu z parametrów zapytania.
retrieveAll boolean (wartość logiczna). Określa, czy pobrać wszystkie wartości.

Jeśli na przykład obecny adres URL to https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, a potem:

  • 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 określać queryKey w dozwolone klucze zapytania (lub dowolny klucz zapytania).


getReferrerQueryParameters

Interfejs API getReferrerQueryParameters działa tak samo jak getQueryParameters, , z wyjątkiem tego, że działa na stronie odsyłającej zamiast w bieżącym adresie URL. Zwraca pierwszą wartość lub wszystkie parametry queryKey strony odsyłającej. Zwraca pierwszą wartość z funkcji queryKey lub tablicy wartości z funkcji queryKey.

Składnia

getReferrerQueryParameters(queryKey[, retrieveAll])

Parametry

Parametr Typ Opis
queryKey ciąg znaków Klucz do odczytu z parametrów zapytania.
retrieveAll boolean (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, a potem:

  • 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 określać queryKey w dozwolonych kluczach zapytania (lub zezwól na 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, który reprezentuje część strony odsyłającej. Jeśli żaden komponent nie jest zostanie zwrócony pełny adres URL strony odsyłającej.

Składnia

getReferrerUrl([component])

Parametry

Parametr Typ Opis
component ciąg znaków Komponent do zwrócenia 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, cały URL zostanie .

Powiązane uprawnienia

get_referrer musi zezwalać na komponent query i określać queryKey w dozwolonych kluczach zapytania (lub zezwól na dowolny klucz zapytania).


getTimestamp

Wycofano. Preferuję parametr getTimestampMillis.

Zwraca liczbę, która reprezentuje (w milisekundach) bieżący czas od momentu systemu Unix epoki; dane zwrócone przez Date.now().

Składnia

getTimestamp();

Powiązane uprawnienia

Brak.


getTimestampMillis

Zwraca liczbę, która reprezentuje (w milisekundach) bieżący czas od momentu systemu Unix epoki; dane zwrócone przez Date.now().

Składnia

getTimestampMillis();

Powiązane uprawnienia

Brak.


getType

Zwraca ciąg znaków opisujący typ danej wartości. W przeciwieństwie do typeof, getType różni się od array i object.

Składnia

getType(data.someField)

Notes

Tabela poniżej zawiera listę ciągów zwracanych dla każdej wartości wejściowej.

Wartość wejściowa Wynik
undefined 'niezdefiniowane'
null „null”
true „wartość logiczna”
12 „number”
'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, który reprezentuje cały bieżący adres URL lub jego część, podaną typ komponentu i niektóre parametry konfiguracji.

Składnia

getUrl(component)

Parametry

Parametr Typ Opis
component ciąg znaków Komponent do zwrócenia 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

get_url


gtagSet

Przekazuje polecenie zestawu gtag do warstwy danych, aby zostało przetworzone możliwe po zakończeniu bieżącego zdarzenia i wszystkich wywołanych przez niego tagów (lub upłynął limit czasu przetwarzania tagu). Aktualizacja jest gwarantowana do przetworzenia w tym kontenerze przed elementami znajdującymi się w kolejce w warstwie danych kolejkę.

Jeśli np. wywołana przez tag uruchamiany podczas Inicjacji zgody, aktualizacja zostanie zastosowana przed przetworzeniem zdarzenia Zdarzenie inicjujące. Przykłady zostanie ustawiona wartość ads_data_redaction na true, false lub url_passthrough ustawiona na 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 właściwości zawierających jego właściwości.

Powiązane uprawnienia

write_data_layer sprawdza uprawnienia do zapisu w folderze dataLayer dla wszystkich określonych kluczy. Jeśli dane wejściowe funkcji gtagSet są zwykłym obiektem, interfejs API sprawdzi, , aby uzyskać uprawnienia do zapisu we wszystkich spłaszczonych kluczach wewnątrz tego obiektu, np. w przypadku gtagSet({foo: {bar: 'baz'}}), interfejs API sprawdzi zapis dostęp do foo.bar.

Jeśli dane wejściowe funkcji gtagSet są kluczem i jakąś niezwykłą wartością obiektu, interfejs API sprawdź uprawnienia do zapisu w tym kluczu, np. dla gtagSet('abc', true) , interfejs API sprawdzi uprawnienia do zapisu w: 'abc'.

Pamiętaj, że jeśli w obiekcie wejściowym występuje cykl, naciskaj klawisze przed tylko ten sam obiekt.


injectHiddenIframe

Dodaje niewidoczny element iframe do strony.

Wywołania zwrotne są podawane jako instancje funkcji i opakowane w kodzie JavaScript które je wywołują.

Składnia

injectHiddenIframe(url, onSuccess)

Parametry

Parametr Typ Opis
url ciąg znaków Adres URL używany jako wartość elementu src elementu iframe .
onSuccess funkcja Wywoływane po załadowaniu ramki.

Powiązane uprawnienia

inject_hidden_iframe


injectScript

Dodaje do strony tag skryptu, aby asynchronicznie wczytywać dany adres URL. wywołania zwrotne są podawane jako instancje funkcji i są opakowane w JavaScripcie które je wywołują.

Składnia

injectScript(url, onSuccess, onFailure[, cacheToken])

Parametry

Parametr Typ Opis
url ciąg znaków Adres skryptu do wstrzykiwania.
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 wskazujący, że dany adres URL powinien być zapisany w pamięci podręcznej. Jeśli jest określona, zostanie utworzony tylko jeden element skryptu, żądania JavaScript. Wszystkie kolejne próby wczytania danych spowodują, że podane metody onSuccess i onFailure w kolejce, dopóki skrypt się nie załaduje.

Powiązane uprawnienia

inject_script


isConsentGranted

Zwraca wartość „prawda”, jeśli określony typ zgody został przyznany.

Zgoda w ramach określonego typu zgody jest uznawana za udzieloną, jeśli: typ został ustawiony na „granted”; lub nie jest ustawiona. Jeśli typ zgody jest ustawiony na wszelkie inne wartości, które zostaną uznane za nieprzyznane.

Ustawienia tagów w interfejsie Menedżera tagów zawsze będą pożaru. Jeśli z tego interfejsu API korzysta tag z włączonym ciągłym uruchamianiem, zgoda jest brana pod uwagę przyznane i true zostaną zwrócone, niezależnie od rzeczywistego stanu zgody.

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órego stan chcesz sprawdzić.

Powiązane uprawnienia

access_consent z uprawnieniami do odczytu danego typu zgody.


JSON

Zwraca obiekt, który udostępnia funkcje JSON.

Funkcja parse() analizuje ciąg znaków JSON, aby utworzyć wartość lub obiekt opisanego ciągiem. Jeśli nie można przeanalizować wartości (np. ma nieprawidłowy format JSON), funkcja zwróci undefined. Jeśli wartość wejściowa nie jest ciągiem, funkcja dane wejściowe zostaną przekształcone w ciąg znaków.

Funkcja stringify() przekształca dane wejściowe na ciąg znaków JSON. Jeśli wartość nie można przeanalizować (np. obiekt ma cykl), metoda zwróci undefined

Składnia

JSON.parse(stringInput)
JSON.stringify(value);

Parametry

JSON.parse

Parametr Typ Opis
stringInput dowolny Wartość do przekonwertowania. Jeśli wartość nie jest ciągiem, dane wejściowe zostaną w postaci struny.

JSON.stringify

Parametr Typ Opis
wartość dowolny Wartość do przekonwertowania.

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

access_local_storage

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

logging


makeInteger

Konwertuje podaną wartość na liczbę (całkowitą).

Składnia

makeInteger(value)

Parametry

Parametr Typ Opis
value dowolny Wartość do przekonwertowania.

Powiązane uprawnienia

Brak.


makeNumber

Konwertuje podaną wartość na liczbę.

Składnia

makeNumber(value)

Parametry

Parametr Typ Opis
value dowolny Wartość do przekonwertowania.

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 przekonwertowania.

Powiązane uprawnienia

Brak.


makeTableMap

Konwertuje prosty obiekt tabeli z 2 kolumnami na Map. Zastosowanie: zmienić pole szablonu SIMPLE_TABLE z 2 kolumnami na łatwiejsze do zarządzania .

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 Object: przekonwertowana wartość Map, jeśli pary klucz-wartość zostały dodane do go lub null w inny sposób.

Składnia

makeTableMap(tableObj, keyColumnName, valueColumnName)

Parametry

Parametr Typ Opis
tableObj Wyświetl listę Obiekt tabeli do przekonwertowania. To lista map, z których każda Map oznacza wiersz w tabeli. Każda nazwa właściwości w obiektem wiersza jest nazwa kolumny, a wartością właściwości jest kolumna. w wierszu.
keyColumnName ciąg znaków Nazwa kolumny, której wartości będą kluczami w skonwertowanej wartości Map
valueColumnName ciąg znaków Nazwa kolumny, której wartości staną się wartościami w kolumnie po przekonwertowaniu Map

Powiązane uprawnienia

Brak.


Math

Obiekt udostępniają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 funkcję Object.keys() biblioteki standardowej zachowanie użytkownika. Zwraca tablicę własnej wyliczanej właściwości danego obiektu nazwy w tej samej kolejności, w jakiej byłaby pętla for...in.... Jeśli wartością wejściową jest zostanie on przekształcony w obiekt.

Metoda values() udostępnia funkcję Object.values() w Bibliotece standardowej zachowanie użytkownika. Zwraca tablicę wartości właściwości wyliczanych danego obiektu w tej samej kolejności, w jakiej byłaby pętla for...in.... Jeśli wartością wejściową jest zostanie on przekształcony w obiekt.

Metoda entries() udostępnia funkcję Object.entries() w bibliotece standardowej zachowanie użytkownika. Zwraca tablicę własnej wyliczanej właściwości danego obiektu [key, value] pary w tej samej kolejności, w jakiej byłaby pętla for...in.... Jeśli Wartość wejściowa nie jest obiektem, zostanie przekształcona w obiekt.

Metoda freeze() udostępnia funkcję Object.freeze() w bibliotece standardowej zachowanie użytkownika. Zablokowanego obiektu nie można już zmienić; blokowanie obiektu zapobiega dodawania do niej nowych usług, usuwania dotychczasowych usług, oraz wartości istniejących właściwości. freeze() zwraca błąd dany obiekt. Argument podstawowy lub pusty będzie traktowany jako i zostanie zwrócony.

Metoda delete() udostępnia operator usuwania w Bibliotece standardowej. zachowanie użytkownika. Usuwa podany klucz z obiektu, chyba że obiekt zostanie zablokowany. Podobnie jak operator usuwania biblioteki standardowej, zwraca true, jeśli pierwsze dane wejściowe wartość (objectInput) jest obiektem, który nie jest zablokowany, nawet jeśli drugie dane wejściowe (keyToDelete) wskazuje klucz, który nie istnieje. Zwraca false w: we wszystkich innych przypadkach. Różni się jednak od operatora usuwania w bibliotece standardowej. w następujący sposób:

  • keyToDelete nie może być ciągiem rozdzielanym kropkami, który określa zagnieżdżony klucz.
  • Nie można użyć funkcji delete() do usunięcia elementów z tablicy.
  • Za pomocą funkcji delete() nie można usuwać ż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

Object.keys

Parametr Typ Opis
objectInput dowolny Obiekt, którego klucze do wyliczenia. Jeśli dane wejściowe nie są obiektem, zostanie przekształcony w obiekt.

Object.values

Parametr Typ Opis
objectInput dowolny Obiekt, którego wartości do wyliczenia. Jeśli dane wejściowe nie są obiektem, zostanie on przekształcony w obiekt.

Object.entries

Parametr Typ Opis
objectInput dowolny Obiekt, którego pary klucz/wartość do wyliczenia. Jeśli dane wejściowe nie są zostanie on przekształcony w obiekt.

Object.freeze

Parametr Typ Opis
objectInput dowolny Obiekt do zablokowania. Jeśli dane wejściowe nie są obiektem, zostanie potraktowany jako zablokowany obiekt.

Object.delete

Parametr Typ Opis
objectInput 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 kod undefined w przypadku każdego nieprawidłowego adresu URL. Prawidłowo sformatowany W adresach URL lub w polach, których nie ma w ciągu adresu URL, wartość będzie pusta, 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 do analizy.

Powiązane uprawnienia

Brak.


queryPermission

Wyślij zapytanie dotyczące dozwolonych i zawężonych uprawnień. Zwraca wartość logiczną: true, jeśli przyznane uprawnienie. 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 uprawnienia, którego dotyczy zapytanie. Zobacz Argumenty funkcji poniżej.

Argumenty funkcji

sendPixel, injectScript, injectHiddenIframe: drugi parametr powinien być ciągiem adresu URL.

writeGlobals, readGlobals: drugim parametrem powinien być klucz zapisane lub przeczytane.

readUrl: nie są potrzebne żadne dodatkowe argumenty do sprawdzenia, czy cała Adres URL może zostać odczytany. Aby sprawdzić, czy dany komponent może być odczytywany, przekaż jako drugiego argumentu:

if (queryPermission('readUrl','port')) {
  // read the port
}

Aby sprawdzić, czy konkretny klucz zapytania jest czytelny, przekaż go jako trzeci parametr:

if (queryPermission('readUrl','query','key')) {
  getUrlComponent(...);
}

Powiązane uprawnienia

Brak.


readCharacterSet

Zwraca wartość zmiennej document.characterSet.

Składnia

readCharacterSet()

Parametry

Brak.

Powiązane uprawnienia

read_character_set


readTitle

Zwraca wartość zmiennej document.title.

Składnia

readTitle()

Parametry

Brak.

Powiązane uprawnienia

read_title


require

Importuje funkcję wbudowaną według nazwy. Zwraca funkcję lub obiekt które można wywołać z programu. Zwraca wartość undefined, gdy 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łam żą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 Dokąd wysłać piksel.
onSuccess funkcja Wywoływane po załadowaniu piksela. Uwaga: nawet jeśli żądanie poprawnie wysyła, przeglądarki mogą wymagać prawidłowej odpowiedzi graficznej w celu aby kierować reklamy do Sukcesów.
onFailure funkcja Wywoływane, gdy nie uda się załadować piksela. Uwaga: nawet jeśli żądanie może wysłać błąd, może on zostać uruchomiony, jeśli serwer nie zwróci błędu prawidłową odpowiedź graficzną.

Powiązane uprawnienia

send_pixel


setCookie

Ustawia lub usuwa plik cookie o określonej nazwie, wartości i opcjach.

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 Domena, Atrybuty Path, Wygasa, Max-Age, Secure i SameSite. (Patrz Opcje poniżej).
encode boolean (wartość logiczna). Określa, czy wartość pliku cookie ma być kodowana za pomocą JavaScript encodeURIComponent() Domyślna wartość to true.

  • Domena: ustawiona przez usługę options['domain'] (jeśli występuje). Ustaw tę wartość do 'auto', aby spróbować zapisać plik cookie przy użyciu jak najszerszej domeny, na podstawie lokalizacji dokumentu. Jeśli to nie pomoże, będzie próbowano stopniowo. zawężenie subdomen. Jeśli to nie zadziała, spróbuje zapisać plik cookie bez domeny. Jeśli nie zostanie ustawiona żadna wartość, zostanie podjęta próba zapisu pliku cookie. bez określonej domeny. Uwaga: jeśli plik cookie bez określonej domeny jest zapisywanych w kodzie document.cookie, klient użytkownika jako domyślna domena pliku cookie z hostem bieżącej lokalizacji dokumentu.
  • Ścieżka: ustawiona przez zasadę options['path'] (jeśli występuje). Gdy plik cookie bez ścieżki jest zapisywany w interfejsie document.cookie, klient użytkownika domyślnie użyje wartości ścieżkę pliku cookie do ścieżki bieżącej lokalizacji dokumentu.
  • Max-Age (Maksymalny wiek): ustawiony przez options['max-age'] (jeśli występuje).
  • Data ważności: ustawiona przez zasadę options['expires'] (jeśli istnieje). Jeśli występuje ten atrybut, być ciągiem daty w formacie UTC. Pliku Date.toUTCString() można użyć do formatowania Date dla tego parametru.
  • Bezpieczna: ustawiona przez zasadę options['secure'] (jeśli istnieje).
  • SameSite:ustawiona przez parametr options['samesite'] (jeśli występuje).

Powiązane uprawnienia

set_cookies


setDefaultConsentState

Przekazuje domyślną aktualizację zgody do warstwy danych, która ma zostać przetworzona, gdy tylko możliwe po zakończeniu bieżącego zdarzenia i wszystkich wywołanych przez niego tagów (lub upłynął limit czasu przetwarzania tagu). Aktualizacja jest gwarantowana do przetworzenia w tym kontenerze, zanim elementy znajdujące się w kolejce pojawią się w warstwie danych. Więcej informacji o zgodzie użytkowników

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, który określa domyślny stan określonej zgody .

Obiekt consentSettings to mapowanie dowolnych ciągów znaków dotyczących typu zgody na wartość 'granted' lub 'denied'. Obsługuje następujące wartości:

Nazwa klucza Typ Opis
consentType ciąg znaków Wartości każdego typu zgody można ustawić na „Przyznano” lub „Odrzucono”. Każda wartość inna niż „granted” będzie traktowana jako „odrzucona”. Ustawienie wartość „niezdefiniowana” nie będzie miała żadnego wpływu na jej poprzednią wartość.
region Tablica Opcjonalna tablica kodów regionów określająca, który region do których mają zastosowanie ustawienia dotyczące zgody użytkownika. Kody regionów są wyrażone za pomocą kraju lub podgrup w formacie ISO 3166-2.
wait_for_update liczba Określa wartość w milisekundach, aby kontrolować, jak długo czekać na przetworzenie danych wysłano. Używany z narzędziami do uzyskiwania zgody, które ładują się asynchronicznie.

Powiązane uprawnienia

access_consent z uprawnieniami do zapisu wszystkich rodzajów zgody w ConsentSettings.


setInWindow

Ustawia wartość podaną w window w podanym kluczu. Domyślnie ta metoda nie: ustaw wartość w window, jeśli istnieje już wartość. Ustaw overrideExisting na true, aby ustawić wartość w window niezależnie od obecność istniejącej wartości. Zwraca wartość logiczną: true, jeśli wartość była został ustawiony. W przeciwnym razie false.

Składnia

setInWindow(key, value, overrideExisting)

Parametry

Parametr Typ Opis
key ciąg znaków Klucz w funkcji window, w której ma zostać umieszczona wartość.
value * Wartość do ustawienia w window.
overrideExisting boolean (wartość logiczna). Flaga wskazująca, że wartość powinna być ustawiona w window, niezależnie od tego, czy zawiera ona wartość.

Powiązane uprawnienia

access_globals


sha256

Oblicza skrót SHA-256 danych wejściowych i wywołuje wywołanie zwrotne z funkcją skrótu zakodowanego w base64, chyba że obiekt options określa inny kodowanie wyjściowego.

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 zostanie obliczony hasz.
onSuccess funkcja Funkcja jest wywoływana z otrzymanym skrótem zakodowanym w formacie base64, chyba że funkcja Obiekt options określa inne kodowanie wyjściowe.
onFailure funkcja Wywoływana, jeśli podczas obliczania skrótu wystąpi błąd lub przeglądarka nie ma natywnej obsługi sha256. Wywołanie zwrotne obiekt z nazwą błędu i komunikatem.
options obiekt Opcjonalny obiekt opcji określających kodowanie wyjściowe. Jeśli obiekt powinien zawierać klucz outputEncoding z wartością base64 lub hex.

Powiązane uprawnienia

Brak.


templateStorage

Zwraca obiekt z metodami dostępu do pamięci szablonów. Szablon pamięci masowej umożliwia udostępnianie danych pomiędzy uruchomieniami jednego szablonu. Dane 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

access_template_storage

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 API toBase64 umożliwia zakodowanie ciągu znaków do formatu reprezentacji base64.

Składnia

toBase64(input)

Parametry

Parametr Typ Opis
input ciąg znaków Ciąg do zakodowania.

Przykład

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

Powiązane uprawnienia

Brak


updateConsentState

Przenosi aktualizację zgody do warstwy danych, aby została jak najszybciej przetworzona po bieżącym zdarzeniu i zakończeniu jego przetwarzania (albo przekroczono limit czasu przetwarzania tagu). Aktualizacja będzie na pewno przetwarzane w tym kontenerze przed elementami znajdującymi się 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 obiekt Obiekt, który aktualizuje stan określonych rodzajów zgody.

Obiekt consentSettings to mapowanie dowolnych ciągów znaków dotyczących typu zgody na wartość 'granted' lub 'denied'. Obsługuje następujące wartości:

Nazwa klucza Typ Opis
consentType ciąg znaków Każdy rodzaj zgody możesz ustawić na „Przyznano”. czy „odrzucony”. Dowolna wartość inna niż „granted” zostanie potraktowany jako „odrzucony”. Ustawienie wartość nieokreślona nie będzie miało wpływu na jej poprzednią wartość.

Powiązane uprawnienia

access_consent z uprawnieniami do zapisu wszystkich rodzajów zgody w ConsentSettings.


Testuj interfejsy API

Te interfejsy API współpracują z testami JavaScript w trybie piaskownicy, aby tworzyć testy dotyczące niestandardowych szablonów w Menedżerze tagów Google. Te testowe interfejsy API nie wymagają require() . Więcej informacji o testach szablonów niestandardowych


assertApi

Zwraca obiekt dopasowania, którego można używać do płynnego formułowania asercji do argumentu 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 znaków, który został przekazany do require()

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 oparty na bibliotece Google [Truth]. Zwraca ono który może być używany do płynnego formułowania asercji na temat wartości podmiotu. An niepowodzenie asercji spowoduje natychmiastowe zatrzymanie testu i oznaczenie go jako nieudanego. Pamiętaj jednak: niepowodzenie w jednym teście nie wpływa na pozostałe przypadki testowe.

Składnia

assertThat(actual, opt_message)

Parametry

Parametr Typ Opis
actual dowolny Wartość do użycia podczas sprawdzania płynności.
opt_message ciąg znaków Opcjonalna wiadomość do wyświetlenia w przypadku niepowodzenia potwierdzenia.

Dopasowania

Dopasowanie Opis
isUndefined() Wskazuje, że obiekt to undefined.
isDefined() Wskazuje, że temat nie należy do kategorii undefined.
isNull() Wskazuje, że obiekt to null.
isNotNull() Wskazuje, że temat nie należy do kategorii null.
isFalse() Wskazuje, że obiekt to false.
isTrue() Wskazuje, że obiekt to true.
isFalsy() Twierdzenie, że temat jest fałszywy. Wartości Falsy to: undefined, null, false NaN, 0 i „” (pusty ciąg znaków).
isTruthy() Twierdzenie, że temat jest zgodny z prawdą. Wartości Falsy to: undefined, null, false NaN, 0 i „” (pusty ciąg znaków).
isNaN() Stwierdza, że podmiot jest wartością NaN.
isNotNaN() Twierdzi, że podmiot ma dowolną wartość oprócz NaN.
isInfinity() Twierdzi, że obiekt ma wartość dodatnią lub ujemną (nieskończoność).
isNotInfinity() Twierdzi, że temat ma dowolną wartość poza dodatnią lub ujemną Nieskończoność.
isEqualTo(expected) Stwierdza, że podmiot jest równa podanej wartości. To jest wartość porównanie, a nie referencje. Zawartość obiektów i tablic są porównywane rekurencyjnie.
isNotEqualTo(expected) Stwierdza, że podmiot nie jest równa podanej wartości. To jest porównanie wartości, a nie referencyjne. zawartość obiektów i są porównywane rekurencyjnie.
isAnyOf(...expected) Stwierdza, że temat jest równa jednej z podanych wartości. To jest porównanie wartości, a nie referencyjne. zawartość obiektów i są porównywane rekurencyjnie.
isNoneOf(...expected) Stwierdza, że podmiot nie jest równa żadnej z podanych wartości. Ten to porównanie wartości, a nie odwołanie. Zawartość obiektów a tablice są porównywane rekurencyjnie.
isStrictlyEqualTo(expected) Twierdzi, że obiekt jest ściśle równy (===) jak danej wartości.
isNotStrictlyEqualTo(expected) Twierdzi, że podmiot nie jest ściśle identyczny z (!==) podanej wartości.
isGreaterThan(expected) Wskazuje, że podmiot jest większy niż (>) podana w uporządkowanym porównaniu.
isGreaterThanOrEqualTo(expected) Twierdzi, że podmiot jest większy lub równy (>=) wartość w porównaniu uporządkowanym.
isLessThan(expected) Wskazuje, że temat jest mniejszy niż (<) podana w uporządkowanym porównaniu.
isLessThanOrEqualTo(expected) Wskazuje, że temat ma wartość mniejszą lub równą (<=) podanej wartości w porównaniu uporządkowanym.
contains(...expected) Wskazuje, że temat jest tablicą lub ciągiem znaków zawierającym wszystkie podane wartości w dowolnej kolejności. To jest porównanie wartości, a nie odwołanie porównanie. Porównywana jest zawartość obiektów i tablic cyklicznie.
doesNotContain(...expected) Wskazuje, że temat jest tablicą lub ciągiem znaków, które nie zawierają żadnego z podane wartości. To jest porównanie wartości, a nie pliku referencyjnego. Zawartość obiektów i tablic jest porównywana rekurencyjnie.
containsExactly(...expected) Wskazuje, że podmiot jest tablicą zawierającą wszystkie podane wartości w dowolnej kolejności i żadnych innych wartości. To jest porównanie wartości, a nie do porównania. Porównywana jest zawartość obiektów i tablic cyklicznie.
doesNotContainExactly(...expected) Wskazuje, że obiekt jest tablicą, która zawiera inny zbiór dla podanych wartości w dowolnej kolejności. To porównanie wartości, nie jest porównaniem referencyjnym. Zawartość obiektów i tablic jest rekurencyjnie.
hasLength(expected) Potwierdza, że temat jest tablicą lub ciągiem znaków o podanej długości. Potwierdzenie zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą ani ciągiem znaków.
isEmpty() Potwierdza, że temat jest tablicą lub pustym ciągiem znaków (długość = 0). Potwierdzenie zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą lub ciągu znaków.
isNotEmpty() Potwierdza, że temat jest tablicą lub ciągiem, który nie jest pusty (długość > 0). Potwierdzenie zawsze kończy się niepowodzeniem, jeśli wartość nie jest tablicą lub ciągu tekstowego.
isArray() Stwierdza, że typem podmiotu jest tablica.
isBoolean() Stwierdza, że typ podmiotu jest wartością logiczną.
isFunction() Stwierdza, że typ podmiotu jest funkcją.
isNumber() Stwierdza, że typ podmiotu jest liczbą.
isObject() Stwierdza, że typ podmiotu jest obiektem.
isString() Zapewnia, że typem tematu jest ciąg 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

Natychmiastowo zakończy bieżący test i wydrukuje podany komunikat (jeśli został podany).

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 w trybie piaskownicy. Przykład Interfejs API jest bezpieczny w kodzie szablonu, ale działa tylko w trybie testowym. Przykłady 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 imitacji; ten sam ciąg znaków, który został przekazany do require()
returnValue dowolny Wartość do zwrócenia dla interfejsu API lub funkcji wywoływanej zamiast argumentu API. Jeśli returnValue jest funkcją, jest ona wywoływana w argumencie miejsce interfejsu API piaskownicy; jeśli returnValue to coś innego niż funkcja, ta wartość jest zwracana zamiast metody API.

Przykłady

mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
    onSuccess();
});

mockObject

Interfejs mockObject API pozwala zastąpić działanie interfejsów API w trybie piaskownicy, które zwraca obiekt. Interfejs API jest bezpieczny w kodzie szablonu, ale działa tylko w trybie testowym. Przykłady są resetowane przed uruchomieniem każdego testu.

Składnia

mockObject(apiName, objectMock);

Parametry

Parametr Typ Opis
apiName ciąg znaków Nazwa interfejsu API do imitacji; ten sam ciąg znaków, który został przekazany do require()
objectMock obiekt Wartość do zwrócenia dla interfejsu API lub funkcji wywoływanej zamiast argumentu API. Musi być obiektem.

Przykłady

const storage = {};
mockObject('localStorage', {
  setItem: (key, value) => {storage[key] = value;},
  getItem: (key) => storage[key],
});

runCode

Uruchamia kod szablonu, czyli zawartość karty Kod, w sekcji w bieżącym środowisku testowym z danym obiektem danych wejściowych.

Składnia

runCode(data)

Parametry

Parametr Typ Opis
data obiekt Obiekt danych do użycia w teście.

Zwracana wartość

Zwraca wartość zmiennej dla szablonów zmiennych. zwraca undefined dla wszystkich pozostałych typów szablonów.

Przykład

runCode({field1: 123, field2: 'value'});