APIs für benutzerdefinierte Vorlagen

Kern-APIs

Diese APIs arbeiten mit JavaScript in einer Sandbox zusammen, um benutzerdefinierte Vorlagen in Google zu erstellen. Tag Manager. Jede API wird mit einer require()-Anweisung hinzugefügt. Beispiel:

const myAPI = require('myAPI');

addConsentListener

Registriert eine Listener-Funktion, die ausgeführt wird, wenn der Status der angegebenen Einwilligung vorliegt Typänderungen.

Der angegebene Listener wird jedes Mal aufgerufen, wenn der Status für die angegebene Die Einwilligungsart wird von „Abgelehnt“ zu „Gewährt“ oder von „Gewährt“ zu „Abgelehnt“ geändert. Eine Einwilligung Typ ohne Status gilt als gewährt. Daher wird der Listener nicht aufgerufen, wenn ein nicht festgelegten Einwilligungstyp wird in „Erteilt“ geändert. Listener-Funktionen übernehmen dafür sorgen, dass der Code ordnungsgemäß ausgeführt wird.

Beispiel:

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);
  });
}

Syntax

addConsentListener(consentType, listener)

Parameter

Parameter Typ Beschreibung
consentType String Die Einwilligungsart, für die auf Statusänderungen gewartet werden soll.
listener Funktion Die Funktion, die ausgeführt werden soll, wenn der Status der angegebenen Einwilligungsart vorliegt Änderungen.

Wenn ein Listener aufgerufen wird, wird ihm die Einwilligungsart übergeben, und der neue Wert dieser Einwilligungsart:

Parameter Typ Beschreibung
consentType String Die Einwilligungsart, die geändert wird.
granted Boolescher Wert Ein boolescher Wert, der „true“ ist, wenn die angegebene Einwilligungsart geändert wird zu gewähren.

Zugehörige Berechtigungen

Berechtigung „access_consent“ mit Lesezugriff für die Einwilligungsart.


addEventCallback

Mit der addEventCallback API kannst du eine Callback-Funktion registrieren, am Ende eines Ereignisses aufgerufen werden. Der Callback wird aufgerufen, wenn alle Tags für das Ereignis ausgeführt wurden oder wenn eine Zeitüberschreitung für In-Page-Ereignisse erreicht wurde. An den Callback werden zwei Werte übergeben: die ID des Containers, der den Aufruf und ein Objekt, das Informationen über das Ereignis enthält.

Syntax

addEventCallback(callback)

Parameter

Parameter Typ Beschreibung
callback Funktion Die am Ende des Ereignisses aufzurufende Funktion.

Das eventData-Objekt enthält die folgenden Daten:

Schlüsselname Typ Beschreibung
tags Array Ein Array von Tag-Datenobjekten. Jedes Tag, das während des Ereignisses ausgelöst wurde hat einen Eintrag in diesem Array. Das Tag-Datenobjekt enthält Tag-ID (id), sein Ausführungsstatus (status) und die Ausführungszeit (executionTime). Die Tag-Daten enthalten außerdem zusätzliche Tag-Metadaten, die für das Tag konfiguriert wurden.

Beispiel

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

Zugehörige Berechtigungen

read_event_metadata


aliasInWindow

Mit der aliasInWindow API können Sie einen Alias (z.B. window.foo = window.bar) erstellen, um bestimmte Tags zu unterstützen, für die Aliasing erforderlich ist. Zuweisungs Wert im window-Objekt unter fromPath zum Schlüssel im window-Objekt bei toPath. Gibt bei Erfolg true zurück, false sonst.

Syntax

aliasInWindow(toPath, fromPath)

Parameter

Parameter Typ Beschreibung
toPath String Ein durch Punkte getrennter Pfad zum window-Objekt, wobei ein Wert in die kopiert werden soll. Alle Komponenten im Pfad bis zur letzten Komponente muss bereits im Objekt window vorhanden sein.
fromPath String Ein durch Punkte getrennter Pfad in window zum zu kopierenden Wert. Wenn wenn der Wert nicht vorhanden ist, schlägt der Vorgang fehl.

Beispiel

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

Zugehörige Berechtigungen

access_globals ist sowohl für toPath als auch für fromPath erforderlich. toPath erfordert Schreibzugriff, fromPath erfordert Lesezugriff.


callInWindow

Ermöglicht Ihnen, Funktionen über einen Pfad außerhalb des window-Objekts in einem richtlinienbasierten kontrolliert werden kann. Ruft die Funktion unter dem angegebenen Pfad in window mit dem angegebenen und gibt den Wert zurück. Wenn der Rückgabetyp nicht direkt ein Typ, der in JavaScript in einer Sandbox unterstützt wird, wird undefined zurückgegeben. Die In JavaScript werden acht Typen unterstützt: null, undefined, boolean, number, string, Array, Object und function. Wenn die angegebene Pfad nicht vorhanden ist oder nicht auf eine Funktion verweist, wird undefined als zurückgegeben.

Syntax

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

Parameter

Parameter Typ Beschreibung
pathToFunction String Ein durch Punkte getrennter Pfad zur Funktion in window, aufrufen.
args * Argumente, die an die Funktion übergeben werden sollen.

Zugehörige Berechtigungen

access_globals mit aktivierter Berechtigung execute.


callLater

Plant einen asynchronen Aufruf einer Funktion. Die Funktion ist aufgerufen, nachdem der aktuelle Code zurückgegeben wurde. Dies entspricht setTimeout(<function>, 0)

Syntax

callLater(function)

Parameter

Parameter Typ Beschreibung
function Funktion Die aufzurufende Funktion.

copyFromDataLayer

Gibt den Wert zurück, der aktuell dem entsprechenden Schlüssel in der Datenschicht zugewiesen ist: Wert, der am angegebenen Schlüssel gefunden wurde, wenn es sich um einen primitiven Typ, eine Funktion oder ein Objekt handelt Literal oder undefined.

Syntax

copyFromDataLayer(key[, dataLayerVersion])

Parameter

Parameter Typ Beschreibung
key String Der Schlüssel im Format „a.b.c“.
dataLayerVersion number Die optionalen Daten Ebenenversion. Der Standardwert liegt bei 2. Wir raten dringend davon ab, verwenden Sie den Wert 1.

Zugehörige Berechtigungen

read_data_layer


copyFromWindow

Kopiert eine Variable aus dem window-Objekt. Wenn der Wert in window nicht direkt einem Typ zugeordnet ist, der in JavaScript in einer Sandbox unterstützt wird, wird undefined zurückgegeben. Die acht Typen, die in JavaScript in einer Sandbox unterstützt werden, sind null, undefined, boolean, number, string, Array, Object und function. Gibt den abgerufenen (und erzwungenen) Wert zurück.

Syntax

copyFromWindow(key)

Parameter

Parameter Typ Beschreibung
key String Der Schlüssel im window, dessen Wert kopiert werden soll.

Zugehörige Berechtigungen

access_globals


createArgumentsQueue

Erstellt eine Warteschlange mit Argumentobjekten zur Unterstützung von Tags die sie erfordern.

Erstellt eine globale Funktion (d. h. window) mit dem Argument fnKey. (dieselbe Semantik wie createQueue). Nachdem die Funktion erstellt wurde, Erstellt ein Array in window (falls noch nicht vorhanden) mithilfe der arrayKey .

Wenn die unter fnKey erstellte Funktion aufgerufen wird, überträgt sie ihre Argumente. -Objekt in das Array, das unter arrayKey erstellt wurde. Der Rückgabewert der API ist der unter fnKey erstellt.

Für diese Funktion sind die Lese- und Schreibeinstellungen für fnKey und arrayKey erforderlich access_globals.

Beispiel:

const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});

Syntax

createArgumentsQueue(fnKey, arrayKey)

Parameter

Parameter Typ Beschreibung
fnKey String Der Pfad in window, in dem die Funktion festgelegt ist, falls dies der Fall ist noch nicht vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn fnKey gleich 'one.two' ist, wird Folgendes ausgegeben: Ausnahme.
arrayKey String Der Pfad in window, in dem das Array festgelegt ist, falls dies nicht der Fall ist bereits vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn arrayKey ist 'one.two' und es gibt keine mit dem Namen 'one', wird eine Fehlermeldung Ausnahme.

Zugehörige Berechtigungen

access_globals


createQueue

Erstellt ein Array in window (falls es noch nicht vorhanden ist) und gibt einen -Funktion, die Werte in dieses Array überträgt.

Für diese Funktion ist die Lese- und Schreibeinstellung für arrayKey auf der Berechtigung „access_globals“.

Beispiel:

const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});

Syntax

createQueue(arrayKey)

Parameter

Parameter Typ Beschreibung
arrayKey String Den Schlüssel in window, in dem das Array festgelegt ist, falls dies nicht der Fall ist bereits vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die nicht vorhanden ist, wird eine Ausnahme ausgelöst. Beispiel: arrayKey ist 'one.two' und es gibt keine mit dem Namen 'one', wird eine Fehlermeldung Ausnahme.

Zugehörige Berechtigungen

access_globals


decodeUri

Decodiert alle codierten Zeichen im bereitgestellten URI. Gibt einen string zurück, der steht für den decodierten URI. Gibt undefined zurück, wenn ein ungültiger Wert angegeben wurde Eingabe.

Beispiel:

const decode = require('decodeUri');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Syntax

decodeUri(encoded_uri)

Parameter

Parameter Typ Beschreibung
encoded_uri String Einen URI, der von encodeUri() oder auf andere Weise nutzen.

Zugehörige Berechtigungen

Keine.


decodeUriComponent

Decodiert alle codierten Zeichen in der bereitgestellten URI-Komponente. Gibt Folgendes zurück: string für die decodierte URI-Komponente Gibt undefined zurück, wenn mit ungültiger Eingabe.

Beispiel:

const decode = require('decodeUriComponent');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Syntax

decodeUriComponent(encoded_uri_component)

Parameter

Parameter Typ Beschreibung
encoded_uri_component String Eine URI-Komponente, die durch encodeUriComponent() oder auf andere Weise nutzen.

Zugehörige Berechtigungen

Keine.


encodeUri

Gibt einen codierten URI (Uniform Resource Identifier) zurück, indem spezielle Zeichen. Gibt einen string zurück, der den bereitgestellten String darstellt. URI. Gibt undefined zurück, wenn eine ungültige Eingabe vorliegt (ein einziger Ersatzwert).

Beispiel:

sendPixel('https://www.example.com/' + encodeUri(pathInput));

Syntax

encodeUri(uri)

Parameter

Parameter Typ Beschreibung
uri String Einen vollständigen URI.

Zugehörige Berechtigungen

Keine.


encodeUriComponent

Gibt einen codierten URI (Uniform Resource Identifier) zurück, indem spezielle Zeichen. Gibt einen string zurück, der den bereitgestellten String darstellt. URI. Gibt undefined zurück, wenn eine ungültige Eingabe vorliegt (ein einziger Ersatzwert).

Beispiel:

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

Syntax

encodeUriComponent(str)

Parameter

Parameter Typ Beschreibung
str String Eine Komponente eines URI.

Zugehörige Berechtigungen

Keine.


fromBase64

Mit der fromBase64 API können Sie Strings aus ihrem base64-Wert decodieren Darstellung. Gibt undefined zurück, wenn eine ungültige Eingabe angegeben wurde.

Syntax

fromBase64(base64EncodedString)

Parameter

Parameter Typ Beschreibung
base64EncodedString String Base64-codierter String.

Beispiel

const fromBase64 = require('fromBase64');

const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
  // ...
}

Zugehörige Berechtigungen

Keine


generateRandom

Gibt eine zufällige Zahl (Ganzzahl) innerhalb des angegebenen Bereichs zurück.

Syntax

generateRandom(min, max)

Parameter

Parameter Typ Beschreibung
min number Minimaler potenzieller Wert der zurückgegebenen Ganzzahl.
max number Maximaler potenzieller Wert der zurückgegebenen Ganzzahl.

Zugehörige Berechtigungen

Keine.


getContainerVersion

Gibt ein Objekt mit Daten zum aktuellen Container zurück. Die zurückgegebene -Objekt hat die folgenden Felder:

{
  containerId: string,
  debugMode: boolean,
  environmentName: string,
  environmentMode: boolean,
  previewMode: boolean,
  version: string,
}

Beispiel

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);
  }
}

Syntax

getContainerVersion();

Zugehörige Berechtigungen

read_container_data


getCookieValues

Gibt die Werte aller Cookies mit dem angegebenen Namen zurück.

Syntax

getCookieValues(name[, decode])

Parameter

Parameter Typ Beschreibung
name String Name des Cookies.
decode Boolescher Wert Steuert, ob die Cookiewerte mit JavaScript- decodeURIComponent() Die Standardeinstellung ist true.

Zugehörige Berechtigungen

get_cookies


getQueryParameters

Gibt den ersten oder alle Parameter für den aktuellen queryKey der URL zurück. Gibt den ersten Wert aus queryKey oder ein Array von Werten aus dem zurück. queryKey

Syntax

getQueryParameters(queryKey[, retrieveAll])

Parameter

Parameter Typ Beschreibung
queryKey String Der Schlüssel, der aus den Abfrageparametern gelesen werden soll.
retrieveAll Boolescher Wert Gibt an, ob alle Werte abgerufen werden sollen.

Wenn die aktuelle URL beispielsweise https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, dann:

  • getQueryParameters('var') == 'foo'
  • getQueryParameters('var', false) == 'foo'
  • getQueryParameters('var', null) == 'foo'
  • getQueryParameters('var', true) == ['foo', 'foo2', 'foo']

Zugehörige Berechtigungen

get_url muss die Komponente query zulassen und die queryKey in Die zulässigen Abfrageschlüssel (oder einen beliebigen Abfrageschlüssel zulassen).


getReferrerQueryParameters

Die getReferrerQueryParameters API funktioniert genauso wie die getQueryParameters, mit dem Unterschied, dass sie auf die Referrer-URL und nicht auf die aktuelle URL angewendet wird. Gibt das erste oder alle Parameter für die queryKey der angegebenen Verweis-URL. Gibt die erste Wert aus queryKey oder einem Array von Werten aus queryKey.

Syntax

getReferrerQueryParameters(queryKey[, retrieveAll])

Parameter

Parameter Typ Beschreibung
queryKey String Der Schlüssel, der aus den Abfrageparametern gelesen werden soll.
retrieveAll Boolescher Wert Gibt an, ob alle Werte abgerufen werden sollen.

Lautet die Referrer-URL beispielsweise https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo, dann:

  • getReferrerQueryParameters('var') == 'foo'
  • getReferrerQueryParameters('var', false) == 'foo'
  • getReferrerQueryParameters('var', null) == 'foo'
  • getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']

Zugehörige Berechtigungen

get_referrer muss die Komponente query zulassen und Folgendes angeben: queryKey in den zulässigen Abfrageschlüsseln (oder einen beliebigen Abfrageschlüssel zulassen)


getReferrerUrl

Die API liest bei einem bestimmten Komponententyp das Dokumentobjekt auf die Verweis-URL und gibt einen String zurück, der einen Teil der Referrer-URL darstellt. Wenn keine Komponente wird die vollständige Verweis-URL zurückgegeben.

Syntax

getReferrerUrl([component])

Parameter

Parameter Typ Beschreibung
component String Die Komponente, die von der URL zurückgegeben werden soll. Folgende Werte sind möglich: protocol, host, port path, query, extension. Wenn component ist undefined, null oder mit keiner dieser Komponenten übereinstimmt, wird die gesamte URL zurückgegeben.

Zugehörige Berechtigungen

get_referrer muss die Komponente query zulassen und Folgendes angeben: queryKey in den zulässigen Abfrageschlüsseln (oder einen beliebigen Abfrageschlüssel zulassen)


getTimestamp

Veraltet. Bevorzugen Sie getTimestampMillis.

Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit Unix darstellt Epoche, wie von Date.now() zurückgegeben.

Syntax

getTimestamp();

Zugehörige Berechtigungen

Keine.


getTimestampMillis

Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit Unix darstellt Epoche, wie von Date.now() zurückgegeben.

Syntax

getTimestampMillis();

Zugehörige Berechtigungen

Keine.


getType

Gibt einen String zurück, der den Typ des angegebenen Werts beschreibt. Im Gegensatz zu typeof getType unterscheidet zwischen array und object.

Syntax

getType(data.someField)

Hinweise

In der folgenden Tabelle sind die Strings aufgeführt, die für jeden Eingabewert zurückgegeben werden.

Eingabewert Ergebnis
undefined 'nicht definiert'
null „null“
true 'boolesch'
12 "number" (Zahl)
'string' "string"
{ a: 3 } 'Objekt' [object]
[ 1, 3 ] „Array“
(x) => x + 1 „function“

Zugehörige Berechtigungen

Keine.


getUrl

Gibt einen String zurück, der die gesamte URL oder einen Teil davon darstellt. einen Komponententyp und einige Konfigurationsparameter.

Syntax

getUrl(component)

Parameter

Parameter Typ Beschreibung
component String Die Komponente, die von der URL zurückgegeben werden soll. Folgende Werte sind zulässig: protocol, host, port path, query, extension fragment Wenn die Komponente undefined ist, null oder keine Übereinstimmung mit einer dieser Komponenten aufweist, gesamter href-Wert zurückgegeben.

Zugehörige Berechtigungen

get_url


gtagSet

Sendet einen gtag-set-Befehl an die Datenschicht, der verarbeitet wird, sobald nach dem aktuellen Ereignis möglich, und alle durch sie ausgelösten Tags sind abgeschlossen (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert muss in diesem Container verarbeitet werden, bevor Elemente in der Warteschlange in der Datenschicht vorhanden sind. in die Warteschlange stellen.

Wird der Aufruf beispielsweise über ein Tag ausgelöst, das bei der Initialisierung der Einwilligung ausgelöst wurde, wird das Ereignis vor der Verarbeitung des Initialisierungsereignisses angewendet wird. Beispiele ads_data_redaction wird auf true, false oder url_passthrough gesetzt true oder false festgelegt ist.

Beispiele:

const gtagSet = require('gtagSet');

gtagSet({
  'ads_data_redaction': true,
  'url_passthrough': true,
});

Syntax

gtagSet(object)

Parameter

Parameter Typ Beschreibung
Object Gegenstand Ein Objekt, das den globalen Status für die zugehörigen Eigenschaften aktualisiert.

Zugehörige Berechtigungen

write_data_layer prüft für alle Schreibberechtigungen für dataLayer den angegebenen Schlüsseln. Wenn die Eingabe für gtagSet ein einfaches Objekt ist, prüft die API für die Schreibberechtigung für alle vereinfachten Schlüssel in diesem Objekt, z.B. für gtagSet({foo: {bar: 'baz'}}), prüft die API auf Schreibvorgänge Berechtigung für foo.bar.

Wenn die Eingabe für gtagSet ein Schlüssel und ein nicht einfacher Objektwert ist, wird die API Prüfen Sie, ob die Schreibberechtigung für diesen Schlüssel vorliegt. Beispiel: für gtagSet('abc', true) , prüft die API die Schreibberechtigung für 'abc'.

Beachten Sie, dass bei einem Zyklus im Eingabeobjekt nur die Tasten vor dem Erreichen des überprüft werden.


injectHiddenIframe

Fügt der Seite einen unsichtbaren iFrame hinzu.

Callbacks werden als Funktionsinstanzen angegeben und in JavaScript eingebettet. die sie aufrufen.

Syntax

injectHiddenIframe(url, onSuccess)

Parameter

Parameter Typ Beschreibung
url String Die URL, die als Wert des src-Elements des iFrames verwendet werden soll .
onSuccess Funktion Wird aufgerufen, wenn der Frame erfolgreich geladen wurde.

Zugehörige Berechtigungen

inject_hidden_iframe


injectScript

Fügt der Seite ein Skript-Tag hinzu, um die angegebene URL asynchron zu laden. Die Callbacks werden als Funktionsinstanzen angegeben und in JavaScript eingebettet. die sie aufrufen.

Syntax

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

Parameter

Parameter Typ Beschreibung
url String Die Adresse des einzufügenden Skripts.
onSuccess Funktion Wird aufgerufen, wenn das Skript erfolgreich geladen wurde.
onFailure Funktion Wird aufgerufen, wenn das Skript nicht geladen werden kann.
cacheToken String Optionaler String, der angibt, dass die angegebene URL im Cache gespeichert werden soll. Wenn festgelegt ist, wird nur ein Skriptelement erstellt, fordern Sie den JavaScript-Code an. Alle weiteren Ladeversuche führen zu die angegebenen Methoden onSuccess und onFailure bis das Skript geladen ist.

Zugehörige Berechtigungen

inject_script


isConsentGranted

Gibt „true“ zurück, wenn die angegebene Einwilligungsart gewährt wurde.

Die Einwilligung für eine bestimmte Einwilligungsart gilt als erteilt, wenn die Einwilligung Typ wurde auf „granted“ festgelegt oder gar nicht festgelegt. Einwilligungsart alle anderen Werte gilt als nicht gewährt.

In der Tag Manager-Benutzeroberfläche für die Tag-Einstellungen können Sie festlegen, Feuer. Wenn ein Tag, für das die Option „Immer auslösen“ aktiviert ist, diese API verwendet, wird die Einwilligung berücksichtigt erteilt und true wird unabhängig vom tatsächlichen Einwilligungsstatus zurückgegeben.

Beispiel:

const isConsentGranted = require('isConsentGranted');

if (isConsentGranted('ad_storage')) {
  sendFullPixel();
} else {
  sendPixelWithoutCookies();
}

Syntax

isConsentGranted(consentType)

Parameter

Parameter Typ Beschreibung
consentType String Die Einwilligungsart, deren Status geprüft werden soll.

Zugehörige Berechtigungen

Berechtigung „access_consent“ mit Lesezugriff für die Einwilligungsart.


JSON

Gibt ein Objekt zurück, das JSON-Funktionen bereitstellt.

Die Funktion parse() parst einen JSON-String, um den Wert oder das Objekt zu erstellen. das durch den String beschrieben wird. Wenn der Wert nicht geparst werden kann (z.B. ein fehlerhaftes JSON-Format), gibt die Funktion undefined zurück. Wenn der Eingabewert kein String ist, wird der Die Eingabe wird in einen String umgewandelt.

Die Funktion stringify() konvertiert die Eingabe in einen JSON-String. Wenn der Wert nicht geparst werden kann (z.B. wenn das Objekt einen Zyklus hat), gibt die Methode undefined

Syntax

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

Parameter

JSON.parse

Parameter Typ Beschreibung
stringInput Beliebig Wert, der konvertiert werden soll. Wenn der Wert kein String ist, ist die Eingabe erzwingt wird.

JSON.stringify

Parameter Typ Beschreibung
Wert Beliebig Wert, der konvertiert werden soll.

Beispiel

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

Gibt ein Objekt mit Methoden für den Zugriff auf den lokalen Speicher zurück.

Syntax

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

Zugehörige Berechtigungen

access_local_storage

Beispiel

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

Protokolliert Argumente in der Browserkonsole.

Syntax

logToConsole(obj1 [, obj2,... objN])

Parameter

Parameter Typ Beschreibung
obj1 [, obj2,... objN] Beliebig Argumente

Zugehörige Berechtigungen

logging


makeInteger

Wandelt den gegebenen Wert in eine Zahl (Ganzzahl) um.

Syntax

makeInteger(value)

Parameter

Parameter Typ Beschreibung
value Beliebig Wert, der konvertiert werden soll.

Zugehörige Berechtigungen

Keine.


makeNumber

Wandelt den gegebenen Wert in eine Zahl um.

Syntax

makeNumber(value)

Parameter

Parameter Typ Beschreibung
value Beliebig Wert, der konvertiert werden soll.

Zugehörige Berechtigungen

Keine.


makeString

Gibt den gegebenen Wert als string zurück.

Syntax

makeString(value)

Parameter

Parameter Typ Beschreibung
value Beliebig Wert, der konvertiert werden soll.

Zugehörige Berechtigungen

Keine.


makeTableMap

Wandelt ein einfaches Tabellenobjekt mit zwei Spalten in einen Map um. Damit werden Ändern Sie ein SIMPLE_TABLE-Vorlagenfeld mit zwei Spalten in ein leichter überschaubares Format.

Die folgende Funktion könnte beispielsweise ein Tabellenobjekt konvertieren:

[
  {'key': 'k1', 'value': 'v1'},
  {'key': 'k2', 'value': 'v2'}
]

in eine Karte umwandeln:

{
  'k1': 'v1',
  'k2': 'v2'
}

Gibt ein Objekt zurück: die konvertierte Map, wenn Schlüssel/Wert-Paare zu oder null auf andere Weise.

Syntax

makeTableMap(tableObj, keyColumnName, valueColumnName)

Parameter

Parameter Typ Beschreibung
tableObj Liste Das Tabellenobjekt, das konvertiert werden soll. Es ist eine Liste von Karten, in denen alle Map steht für eine Zeile in der Tabelle. Jeder Eigenschaftsname in einem Das Zeilenobjekt ist der Spaltenname und der Eigenschaftswert ist die Spalte Wert in der Zeile.
keyColumnName String Name der Spalte, deren Werte in der konvertierten Datei zu Schlüsseln werden. Map
valueColumnName String Name der Spalte, deren Werte in der konvertierten Tabelle zu Werten werden. Map

Zugehörige Berechtigungen

Keine.


Math

Ein Objekt, das Math-Funktionen bereitstellt.

Syntax

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

Parameter

Parameter für mathematische Funktionen werden in Zahlen umgewandelt.

Zugehörige Berechtigungen

Keine.


Object

Gibt ein Objekt zurück, das Object-Methoden bereitstellt.

Die Methode keys() stellt die Standardbibliothek Object.keys() bereit. verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaft eines bestimmten Objekts zurück. in derselben Reihenfolge wie eine for...in...-Schleife. Wenn der Eingabewert kein Objekt ist, wird sie in ein Objekt umgewandelt.

Die Methode values() stellt die Standardbibliothek Object.values() bereit. verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaftswerte eines bestimmten Objekts zurück. in derselben Reihenfolge wie bei einer for...in...-Schleife. Wenn der Eingabewert kein -Objekt enthält, wird er in ein -Objekt umgewandelt.

Die Methode entries() stellt die Standardbibliothek Object.entries() bereit. verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaft eines bestimmten Objekts zurück. [key, value]-Paare werden in derselben Reihenfolge wie in einer for...in...-Schleife dargestellt. Wenn die Eingabewert kein Objekt ist, wird er in ein Objekt umgewandelt.

Die Methode freeze() stellt die Standardbibliothek Object.freeze() bereit. verhalten. Ein fixiertes Objekt kann nicht mehr geändert werden. wird durch das Einfrieren eines Objekts verhindert, neue Eigenschaften hinzugefügt, vorhandene Unterkünfte entfernt werden, und die Werte vorhandener Eigenschaften werden geändert. freeze() gibt den Fehlerwert übergebenen Objekt. Primitive oder Null-Argumente wenn es sich um ein fixiertes Objekt handelt, und wird zurückgegeben.

Die Methode delete() stellt den Löschoperator der Standardbibliothek bereit. verhalten. Sie entfernt den angegebenen Schlüssel aus dem Objekt, sofern das Objekt nicht fixiert ist. Wie beim Löschoperator der Standardbibliothek wird true zurückgegeben, wenn die erste Eingabe Der Wert (objectInput) ist ein Objekt, das nicht fixiert ist, auch wenn die zweite Eingabe Der Wert (keyToDelete) gibt einen nicht vorhandenen Schlüssel an. Sie gibt false in alle anderen Fälle. Er unterscheidet sich jedoch vom Löschoperator für die Standardbibliothek. auf folgende Arten:

  • keyToDelete darf kein durch Punkte getrennter String sein, der einen verschachtelten Schlüssel angibt.
  • delete() kann nicht zum Entfernen von Elementen aus einem Array verwendet werden.
  • Mit delete() können keine Properties aus dem globalen Geltungsbereich entfernt werden.

Syntax

Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)

Parameter

Object.keys

Parameter Typ Beschreibung
objectInput Beliebig Objekt, dessen Schlüssel aufgelistet werden sollen Wenn die Eingabe kein Objekt ist, zu einem Objekt erzwungen.

Object.values

Parameter Typ Beschreibung
objectInput Beliebig Objekt, dessen Werte aufgezählt werden sollen Wenn die Eingabe kein Objekt ist, wird er in ein Objekt umgewandelt.

Object.entries

Parameter Typ Beschreibung
objectInput Beliebig Objekt, dessen Schlüssel/Wert-Paare aufgelistet werden sollen Wenn die Eingabe kein -Objekt enthält, wird er in ein -Objekt umgewandelt.

Object.freeze

Parameter Typ Beschreibung
objectInput Beliebig Das Objekt, das fixiert werden soll. Wenn die Eingabe kein Objekt ist, wird es wie ein fixiertes Objekt behandelt.

Object.delete

Parameter Typ Beschreibung
objectInput Beliebig Objekt, dessen Schlüssel gelöscht werden soll
keyToDelete String Der Schlüssel auf oberster Ebene, der gelöscht werden soll.

Beispiel

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

Gibt ein Objekt zurück, das alle Komponenten einer bestimmten URL enthält, ähnlich wie bei Das URL-Objekt.

Diese API gibt bei jeder fehlerhaften URL undefined zurück. Bei richtig formatierten URLs, Felder, die nicht im URL-String vorhanden sind, haben dann einen leeren String, oder im Fall von searchParams ein leeres Objekt.

Das zurückgegebene Objekt enthält die folgenden Felder:

{
  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,
}

Beispiel

const parseUrl = require('parseUrl');

const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');

Syntax

parseUrl(url);

Parameter

Parameter Typ Beschreibung
url String Die vollständige URL, die geparst wird.

Zugehörige Berechtigungen

Keine.


queryPermission

Fragen Sie die zulässigen und eingegrenzten Berechtigungen ab. Gibt einen booleschen Wert zurück: true, wenn ein Berechtigung wurde gewährt, andernfalls false.

Syntax

queryPermission(permission, functionArgs*)

Parameter

Parameter Typ Beschreibung
permission String Name der Berechtigung.
functionArgs Beliebig Funktionsargumente variieren je nach abgefragter Berechtigung. Weitere Informationen finden Sie unter Funktionsargumente.

Funktionsargumente

sendPixel, injectScript, injectHiddenIframe: Der zweite Parameter sollte ein URL-String sein.

writeGlobals, readGlobals: Der zweite Parameter sollte der Schlüssel sein, geschrieben oder gelesen werden.

readUrl: Es sind keine zusätzlichen Argumente erforderlich, um abzufragen, ob die gesamte Abfrage URL kann gelesen werden. Um abzufragen, ob eine bestimmte Komponente gelesen werden kann, übergeben Sie den Parameter Komponentenname als zweites Argument ein:

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

Um zu überprüfen, ob ein bestimmter Abfrageschlüssel lesbar ist, übergeben Sie den Abfrageschlüssel als dritter Parameter:

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

Zugehörige Berechtigungen

Keine.


readCharacterSet

Gibt den Wert von document.characterSet zurück.

Syntax

readCharacterSet()

Parameter

Keine.

Zugehörige Berechtigungen

read_character_set


readTitle

Gibt den Wert von document.title zurück.

Syntax

readTitle()

Parameter

Keine.

Zugehörige Berechtigungen

read_title


require

Importiert eine integrierte Funktion anhand des Namens. Gibt eine Funktion oder ein Objekt zurück. die aus Ihrem Programm aufgerufen werden können. Gibt undefined zurück, wenn der Browser unterstützt die integrierte Funktion nicht.

Syntax

require(name)

Parameter

Parameter Typ Beschreibung
name String Der Name der zu importierenden Funktion.

Beispiel

const getUrl = require('getUrl');
const url = getUrl();

Zugehörige Berechtigungen

Keine.


sendPixel

Sendet eine GET-Anfrage an einen angegebenen URL-Endpunkt.

Syntax

sendPixel(url, onSuccess, onFailure)

Parameter

Parameter Typ Beschreibung
url String Wo das Pixel gesendet werden soll
onSuccess Funktion Wird aufgerufen, wenn das Pixel erfolgreich geladen wurde. Hinweis: Auch wenn die Anfrage sendet, benötigen Browser möglicherweise eine gültige Image-Antwort, onSuccess ausgeführt werden soll.
onFailure Funktion Wird aufgerufen, wenn das Pixel nicht geladen werden kann. Hinweis: Auch wenn die Anfrage erfolgreich sendet, kann onFailure ausgeführt werden, wenn der Server keinen gültige Bildantwort.

Zugehörige Berechtigungen

send_pixel


setCookie

Legt das Cookie mit dem angegebenen Namen, Wert und den angegebenen Optionen fest oder löscht es.

Syntax

setCookie(name, value[, options, encode])

Parameter

Parameter Typ Beschreibung
name String Name des Cookies.
value String Wert des Cookies.
options Gegenstand Gibt die Domain, Attribute „Path“, „expires“, „Max-Age“, „Secure“ und „SameSite“. Weitere Informationen finden Sie unten im Abschnitt Optionen.
encode Boolescher Wert Steuert, ob der Cookiewert mit JavaScript- encodeURIComponent() Die Standardeinstellung ist true.

  • Domain:Wird durch die Property options['domain'] festgelegt, falls vorhanden. Diesen Wert festlegen an 'auto', um das Cookie mit der breitestmöglichen Domain zu schreiben, basierend auf dem Speicherort des Dokuments. Wenn das nicht funktioniert, wird der Vorgang nacheinander durchgeführt. enger gefassten Subdomains. Wenn alle Probleme auftreten, wird versucht, das Cookie ohne Domain. Wenn kein Wert festgelegt ist, wird versucht, das Cookie zu schreiben wenn keine Domain angegeben ist. Hinweis: Wenn ein Cookie ohne angegebene Domain in document.cookie geschrieben wurde, legt der User-Agent standardmäßig die Domain des Cookies fest. in den Host des aktuellen Speicherorts des Dokuments ein.
  • Pfad: Wird durch options['path'] festgelegt, falls vorhanden. Wenn ein Cookie ohne Pfad in document.cookie geschrieben wird, verwendet der User-Agent Cookie-Pfad zum Pfad des aktuellen Dokumentspeicherorts.
  • Max-Age:wird durch options['max-age'] festgelegt, falls vorhanden.
  • Läuft ab: Wird von options['expires'] festgelegt, falls vorhanden. Falls vorhanden, muss dies ein Datumsstring im UTC-Format sein. Mit Date.toUTCString() kann ein Date für diesen Parameter.
  • Sicher: Wird von options['secure'] festgelegt, falls vorhanden.
  • SameSite: Von options['samesite'] festgelegt, falls vorhanden.

Zugehörige Berechtigungen

set_cookies


setDefaultConsentState

Sendet eine standardmäßige Aktualisierung der Einwilligung an die Datenschicht, die verarbeitet wird, sobald nach dem aktuellen Ereignis möglich, und alle durch sie ausgelösten Tags sind abgeschlossen (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert vor den Elementen in der Warteschlange in der Datenschicht verarbeitet werden. Weitere Informationen zur Einwilligung

Beispiel:

const setDefaultConsentState = require('setDefaultConsentState');

setDefaultConsentState({
  'ad_storage': 'denied',
  'analytics_storage': 'granted',
  'third_party_storage': 'denied',
  'region': ['US-CA'],
  'wait_for_update': 500
});

Syntax

setDefaultConsentState(consentSettings)

Parameter

Parameter Typ Beschreibung
consentSettings Gegenstand Ein Objekt, das den Standardstatus für die angegebene Einwilligung definiert Typen.

Das consentSettings-Objekt ist eine Zuordnung beliebiger Einwilligungsstrings zu entweder 'granted' oder 'denied'. Folgende Werte werden unterstützt:

Schlüsselname Typ Beschreibung
consentType String Der Wert für jede Einwilligungsart kann auf „gewährt“ oder „abgelehnt“ festgelegt werden. Jeder Wert außer „zugelassen“ wird als „abgelehnt“ behandelt. Einstellung hat der Wert keine Auswirkungen auf den vorherigen Wert.
region Array Ein optionales Array mit Regionscodes, die angeben, welche Region für die die Einwilligungseinstellungen gelten. Regionscodes werden mit Land ausgedrückt und/oder Untergruppen im ISO 3166-2-Format.
wait_for_update number Gibt einen Millisekundenwert an, um zu steuern, wie lange gewartet werden soll, bevor Daten gespeichert werden gesendet. Wird mit Einwilligungstools verwendet, die asynchron geladen werden.

Zugehörige Berechtigungen

Berechtigung „access_consent“ mit Schreibzugriff für alle Einwilligungsarten in der ConsentSettings-Objekt.


setInWindow

Legt den angegebenen Wert in window auf den angegebenen Schlüssel fest. Standardmäßig wird mit dieser Methode keine Legen Sie den Wert im window fest, wenn bereits ein Wert vorhanden ist. Festlegen overrideExisting auf true, um den Wert in window unabhängig von der vorhandenen Wert vorhanden ist. Gibt einen booleschen Wert zurück: true, wenn der Wert festgelegt wurde, andernfalls false.

Syntax

setInWindow(key, value, overrideExisting)

Parameter

Parameter Typ Beschreibung
key String Der Schlüssel in window, in dem der Wert platziert werden soll.
value * Der in window festzulegende Wert.
overrideExisting Boolescher Wert Das Flag, das angibt, dass der Wert in window festgelegt werden soll, und zwar unabhängig davon, ob dort ein Wert vorhanden ist.

Zugehörige Berechtigungen

access_globals


sha256

Berechnet den SHA-256-Digest der Eingabe und ruft einen Callback mit der Digest mit base64-Codierung, sofern das options-Objekt kein anderes für die Ausgabecodierung.

Beispiel:

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'});

Syntax

sha256(input, onSuccess, onFailure = undefined, options = undefined)

Parameter

Parameter Typ Beschreibung
input String Der String, für den der Hashwert berechnet werden soll.
onSuccess Funktion Wird mit dem resultierenden Digest aufgerufen, in base64 codiert, es sei denn, der Das options-Objekt gibt eine andere Ausgabecodierung an.
onFailure Funktion Wird aufgerufen, wenn beim Berechnen des Digests ein Fehler auftritt Der Browser bietet keine native Unterstützung für SHA256. Der Callback wird als durch ein Objekt, das den Namen des Fehlers und die Meldung enthält.
options Gegenstand Optionales Optionsobjekt, um die Ausgabecodierung anzugeben. Wenn angegeben ist, sollte das Objekt den Schlüssel outputEncoding enthalten. mit dem Wert base64 oder hex.

Zugehörige Berechtigungen

Keine.


templateStorage

Gibt ein Objekt mit Methoden für den Zugriff auf den Vorlagenspeicher zurück. Vorlage Speicher ermöglicht es, Daten für die Ausführungen einer einzelnen Vorlage freizugeben. Daten die im Vorlagenspeicher gespeichert sind, bleiben für die Lebensdauer der Seite bestehen.

Syntax

const templateStorage = require('templateStorage');

templateStorage.getItem(key);

templateStorage.setItem(key, value);

templateStorage.removeItem(key);

// Deletes all stored values for the template.
templateStorage.clear();

Zugehörige Berechtigungen

access_template_storage

Beispiel

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

Mit der toBase64 API können Sie einen String in eine Base64-Darstellung codieren.

Syntax

toBase64(input)

Parameter

Parameter Typ Beschreibung
input String Zu codierender String.

Beispiel

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

Zugehörige Berechtigungen

Keine


updateConsentState

Sendet eine Einwilligungsaktualisierung an die Datenschicht, um sie so schnell wie möglich zu verarbeiten nachdem das aktuelle Ereignis und alle von ihm ausgelösten Tags verarbeitet wurden (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert vor den Elementen in der Warteschlange in der Datenschicht verarbeitet werden. Weitere Informationen zur Einwilligung.

Beispiel:

const updateConsentState = require('updateConsentState');

updateConsentState({
  'ad_storage': 'granted',
  'analytics_storage': 'denied',
  'third_party_storage': 'granted',
});

Syntax

updateConsentState(consentSettings)

Parameter

Parameter Typ Beschreibung
consentSettings Gegenstand Ein Objekt, das den Status für die angegebenen Einwilligungsarten aktualisiert.

Das consentSettings-Objekt ist eine Zuordnung beliebiger Einwilligungsstrings zu entweder 'granted' oder 'denied'. Folgende Werte werden unterstützt:

Schlüsselname Typ Beschreibung
consentType String Der Wert für jede Einwilligungsart kann auf „Erteilt“ festgelegt werden oder „abgelehnt“ sein. Jeder Wert außer „gewährt“ als „abgelehnt“ behandelt. Einstellung Wert auf „nicht definiert“ hat keine Auswirkungen auf den vorherigen Wert.

Zugehörige Berechtigungen

Berechtigung „access_consent“ mit Schreibzugriff für alle Einwilligungsarten in der ConsentSettings-Objekt.


APIs testen

Diese APIs arbeiten mit JavaScript-Tests in der Sandbox zusammen, um Tests für benutzerdefinierte in Google Tag Manager erstellen. Diese Test-APIs benötigen kein require() . Weitere Informationen zu Tests in benutzerdefinierten Vorlagen


assertApi

Gibt ein Abgleichobjekt zurück, mit dem Assertions zum gegeben ist.

Syntax

assertApi(apiName)

Parameter

Parameter Typ Beschreibung
apiName String Der Name der zu überprüfenden API. denselben String, der an require()

Matcher

  • Subject.wasCalled()
  • Subject.wasNotCalled()
  • Subject.wasCalledWith(...expected)
  • Subject.wasNotCalledWith(...expected)

Beispiele

assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');

assertThat

Die assertThat API ist der [Truth]-Bibliothek von Google nachempfunden. Es wird ein -Objekt, mit dem fließend Assertions zum Wert eines Objekts gemacht werden können. Eine Bei einem Assertion-Fehler wird der Test sofort beendet und als fehlgeschlagen markiert. Sie können jedoch hat ein Fehler in einem Test keine Auswirkungen auf andere Testfälle.

Syntax

assertThat(actual, opt_message)

Parameter

Parameter Typ Beschreibung
actual Beliebig Der Wert, der in den fluent-Prüfungen verwendet werden soll.
opt_message String Optionale Nachricht, die ausgegeben wird, wenn die Assertion fehlschlägt.

Matcher

Matcher Beschreibung
isUndefined() Bestätigt, dass der Betreff undefined ist.
isDefined() Erklärt, dass der Betreff nicht undefined ist.
isNull() Bestätigt, dass der Betreff null ist.
isNotNull() Erklärt, dass der Betreff nicht null ist.
isFalse() Bestätigt, dass der Betreff false ist.
isTrue() Bestätigt, dass der Betreff true ist.
isFalsy() Hiermit wird behauptet, dass das Motiv falsch ist. Falsche Werte sind undefined, null, false NaN, 0 und „ (leerer String).
isTruthy() Es wird behauptet, dass das Subjekt wahr ist. Falsche Werte sind undefined, null, false NaN, 0 und „ (leerer String).
isNaN() Bestätigt, dass das Subjekt der Wert NaN ist.
isNotNaN() Bestätigt, dass das Subjekt ein beliebiger Wert außer NaN ist.
isInfinity() Bestimmt, dass das Subjekt positiv oder negativ ist.
isNotInfinity() Behauptet, dass das Subjekt ein beliebiger Wert außer einem positiven oder negativen Wert ist Unendlich.
isEqualTo(expected) Bestätigt, dass das Subjekt mit dem angegebenen Wert übereinstimmt. Dies ist ein Wert keinen Referenzvergleich. Inhalte von Objekten und Arrays rekursiv verglichen werden.
isNotEqualTo(expected) Erklärt, dass das Subjekt nicht mit dem angegebenen Wert übereinstimmt. Dies ist ein und keinen Referenzvergleich. Der Inhalt von Objekten und werden Arrays rekursiv verglichen.
isAnyOf(...expected) Bestätigt, dass das Subjekt einem der angegebenen Werte entspricht. Dies ist ein und keinen Referenzvergleich. Der Inhalt von Objekten und werden Arrays rekursiv verglichen.
isNoneOf(...expected) Bestimmt, dass das Subjekt mit keinem der angegebenen Werte übereinstimmt. Dieses ist ein Wertvergleich, kein Referenzvergleich. Inhalt von Objekten und Arrays rekursiv verglichen werden.
isStrictlyEqualTo(expected) Behauptet, dass das Subjekt strikt gleich (===) ist mit dem gegeben ist.
isNotStrictlyEqualTo(expected) Behauptet, dass das Subjekt nicht genau gleich (!==) ist mit gegeben ist.
isGreaterThan(expected) Erklärt, dass das Motiv größer als (>) die angegebene ist Wert in einem geordneten Vergleich.
isGreaterThanOrEqualTo(expected) Bestimmt, dass das Subjekt größer oder gleich (>=) den angegebenen Wert in einem geordneten Vergleich.
isLessThan(expected) Erklärt, dass das Subjekt kleiner als (<) der angegebenen ist Wert in einem geordneten Vergleich.
isLessThanOrEqualTo(expected) Gibt an, dass das Subjekt kleiner oder gleich (<=) ist den gegebenen Wert in einem geordneten Vergleich an.
contains(...expected) Bestätigt, dass das Subjekt ein Array oder ein String ist, der alle der in beliebiger Reihenfolge anzeigen. Dies ist ein Wertvergleich, keine Referenz vergleichen. Der Inhalt von Objekten und Arrays wird verglichen. rekursiv.
doesNotContain(...expected) Bestimmt, dass das Subjekt ein Array oder ein String ist, der keinen der folgenden Werte enthält: die angegebenen Werte. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen.
containsExactly(...expected) Bestätigt, dass das Subjekt ein Array ist, das alle angegebenen Werte in beliebiger Reihenfolge und keine anderen Werte. Dies ist ein Wertvergleich, kein Referenzvergleich. Der Inhalt von Objekten und Arrays wird verglichen. rekursiv.
doesNotContainExactly(...expected) Bestätigt, dass das Subjekt ein Array ist, das einen anderen Satz enthält. von Werten aus den gegebenen Werten in beliebiger Reihenfolge. Das ist ein Wertvergleich, keinen Referenzvergleich. Der Inhalt von Objekten und Arrays ist rekursiv verglichen werden.
hasLength(expected) Bestätigt, dass das Subjekt ein Array oder ein String mit der angegebenen Länge ist. Die Assertion schlägt immer fehl, wenn der Wert kein Array oder String ist.
isEmpty() Bestimmt, dass das Subjekt ein leeres Array oder ein leerer String ist (Länge = 0) Die Assertion schlägt immer fehl, wenn der Wert kein Array oder .
isNotEmpty() Bestimmt, dass das Subjekt ein Array oder String ist, der nicht leer ist (Länge > 0). Die Assertion schlägt immer fehl, wenn der Wert kein Array ist oder einer Zeichenfolge.
isArray() Bestätigt, dass der Typ des Subjekts ein Array ist.
isBoolean() Bestätigt, dass der Typ des Subjekts ein boolescher Wert ist.
isFunction() Bestätigt, dass der Typ des Subjekts eine Funktion ist.
isNumber() Erklärt, dass der Typ des Subjekts eine Zahl ist.
isObject() Bestätigt, dass der Typ des Subjekts ein Objekt ist.
isString() Bestätigt, dass der Typ des Subjekts ein String ist.

Beispiele

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

Der aktuelle Test schlägt sofort sofort fehl und die angegebene Nachricht wird ausgegeben, sofern angegeben.

Syntax

fail(opt_message);

Parameter

Parameter Typ Beschreibung
opt_message String Optionaler Fehlermeldungstext.

Beispiel

fail('This test has failed.');

mock

Mit der mock API können Sie das Verhalten von in einer Sandbox ausgeführten APIs überschreiben. Das Modell Die API kann im Vorlagencode sicher verwendet werden, ist aber nur im Testmodus betriebsbereit. Die Simulationen werden vor jedem Test zurückgesetzt.

Syntax

mock(apiName, returnValue);

Parameter

Parameter Typ Beschreibung
apiName String Der Name der zu testenden API. denselben String, der an require()
returnValue Beliebig Der Wert, der für die API zurückgegeben werden soll, oder eine Funktion, die anstelle der der API erstellen. Wenn returnValue eine Funktion ist, wird diese Funktion in die in einer Sandbox ausgeführte API eingesetzt wird. returnValue ist ein anderer Wert als eine Funktion, wird dieser Wert anstelle des in der Sandbox der API erstellen.

Beispiele

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

mockObject

Mit der mockObject API können Sie das Verhalten von in einer Sandbox ausgeführten APIs überschreiben, gibt ein -Objekt zurück. Die Verwendung der API im Vorlagencode ist sicher, aber betriebsbereit nur im Testmodus. Die Simulationen werden vor jedem Test zurückgesetzt.

Syntax

mockObject(apiName, objectMock);

Parameter

Parameter Typ Beschreibung
apiName String Der Name der zu testenden API. denselben String, der an require()
objectMock Gegenstand Der Wert, der für die API zurückgegeben werden soll, oder eine Funktion, die anstelle der der API erstellen. Muss ein -Objekt sein.

Beispiele

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

runCode

Führt den Code für die Vorlage, d.h. den Inhalt des Tabs Code, im aktuelle Testumgebung mit einem bestimmten Eingabedatenobjekt

Syntax

runCode(data)

Parameter

Parameter Typ Beschreibung
data Gegenstand Datenobjekt, das im Test verwendet werden soll.

Rückgabewert

Gibt den Wert einer Variablen für Variablenvorlagen zurück. gibt undefined zurück für alle anderen Vorlagentypen.

Beispiel

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