API หลัก
API เหล่านี้ทำงานกับ JavaScript ที่ทำแซนด์บ็อกซ์เพื่อสร้างเทมเพลตที่กำหนดเองใน Google
Tag Manager ระบบจะเพิ่มแต่ละ API ด้วยคำสั่ง require()
เช่น
const myAPI = require('myAPI');
addConsentListener
ลงทะเบียนฟังก์ชัน Listener เพื่อดำเนินการเมื่ออยู่ในสถานะความยินยอมที่ระบุ ประเภทการเปลี่ยนแปลง
ระบบจะเรียกใช้ Listener ที่กำหนดทุกครั้งที่สถานะสำหรับที่ระบุ การเปลี่ยนแปลงประเภทความยินยอมจากปฏิเสธเป็นให้สิทธิ์ หรือจากให้สิทธิ์เป็นปฏิเสธ ความยินยอม ประเภทที่ไม่มีสถานะถือว่าได้รับอนุญาต ดังนั้นระบบจะไม่เรียก Listener หาก ยกเลิกการตั้งค่าประเภทความยินยอมได้รับการอัปเดตเป็นให้สิทธิ์แล้ว ฟังก์ชันผู้ฟังจะทำหน้าที่ดูแลจัดการ ในการตรวจสอบว่าโค้ดของตนเรียกใช้ในจำนวนครั้งที่เหมาะสม
ตัวอย่างเช่น
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
ไวยากรณ์
addConsentListener(consentType, listener)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ประเภทความยินยอมที่จะฟังการเปลี่ยนแปลงสถานะ |
listener |
ฟังก์ชัน | ฟังก์ชันที่จะเรียกใช้เมื่อสถานะของประเภทความยินยอมที่ระบุ การเปลี่ยนแปลง |
เมื่อมีการเรียกใช้ Listener ผู้ฟังจะส่งผ่านประเภทความยินยอมที่กำลัง และค่าใหม่ของประเภทความยินยอมนั้น
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ประเภทความยินยอมที่จะมีการเปลี่ยนแปลง |
granted |
บูลีน | บูลีนที่เป็นจริงหากมีการเปลี่ยนแปลงประเภทความยินยอมที่ระบุ อนุญาต |
สิทธิ์ที่เชื่อมโยง
สิทธิ์ access_consent
ที่มีสิทธิ์อ่านสำหรับประเภทความยินยอม
addEventCallback
addEventCallback
API ช่วยให้คุณสามารถลงทะเบียนฟังก์ชัน Callback ที่จะ
ถูกเรียกใช้เมื่อสิ้นสุดเหตุการณ์ ระบบจะเรียกใช้ Callback เมื่อ
แท็กสําหรับเหตุการณ์ได้ทํางานแล้ว หรือหากถึงระยะหมดเวลาเหตุการณ์ในหน้าเว็บ
Callback จะส่งผ่านค่า 2 ค่า คือรหัสของคอนเทนเนอร์ที่เรียกค่า
และออบเจ็กต์ที่มีข้อมูลเกี่ยวกับเหตุการณ์
ไวยากรณ์
addEventCallback(callback)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
callback |
ฟังก์ชัน | ฟังก์ชันที่จะเรียกใช้เมื่อสิ้นสุดเหตุการณ์ |
ออบเจ็กต์ eventData
มีข้อมูลต่อไปนี้
ชื่อคีย์ | ประเภท | คำอธิบาย |
---|---|---|
tags |
อาร์เรย์ | อาร์เรย์ของออบเจ็กต์ข้อมูลแท็ก ทุกแท็กที่เริ่มทำงานระหว่างเหตุการณ์
จะมีรายการในอาร์เรย์นี้ ออบเจ็กต์ข้อมูลแท็กมีฟังก์ชัน
รหัสของแท็ก (id ) สถานะการดำเนินการ
(status ) และเวลาดำเนินการ
(executionTime ). ข้อมูลแท็กยังจะรวม
ข้อมูลเมตาของแท็กที่กำหนดค่าไว้ในแท็ก |
ตัวอย่าง
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
สิทธิ์ที่เชื่อมโยง
aliasInWindow
คุณสามารถใช้ aliasInWindow
API ในการสร้างชื่อแทนได้ (เช่น window.foo =
window.bar
) ซึ่งจะช่วยสนับสนุนบางแท็กที่ต้องใช้ชื่อแทน มอบหมาย
ค่าในออบเจ็กต์ window
ที่พบที่ fromPath
ไปยังคีย์ใน
window
ที่ toPath
แสดงผล true
หากสำเร็จ false
หรือไม่เช่นนั้น
ไวยากรณ์
aliasInWindow(toPath, fromPath)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
toPath |
สตริง | เส้นทางที่คั่นด้วยจุดลงในออบเจ็กต์ window โดยที่ค่า
ควรคัดลอกไปไว้ คอมโพเนนต์ทั้งหมดในเส้นทางจนถึงคอมโพเนนต์สุดท้าย
ต้องมีอยู่ในออบเจ็กต์ window อยู่แล้ว |
fromPath |
สตริง | เส้นทางที่คั่นด้วยจุดเข้าสู่ window ไปยังค่าที่จะคัดลอก ถ้า
ไม่มีค่านี้อยู่ การดำเนินการจะล้มเหลว |
ตัวอย่าง
aliasInWindow('foo.bar', 'baz.qux')
สิทธิ์ที่เชื่อมโยง
ต้องระบุ access_globals
สำหรับทั้ง toPath
และ fromPath
toPath
ต้องมีสิทธิ์เขียน fromPath
ต้องใช้สิทธิ์การอ่าน
callInWindow
ช่วยให้คุณเรียกใช้ฟังก์ชันจากเส้นทางนอกออบเจ็กต์ window
ในนโยบาย
ในแบบที่ควบคุมได้ เรียกใช้ฟังก์ชันที่เส้นทางที่ระบุใน window
ด้วยแอตทริบิวต์
อาร์กิวเมนต์และแสดงผลค่า หากไม่สามารถจับคู่ประเภทผลลัพธ์โดยตรง
ระบบจะแสดงผล undefined
เป็นประเภทที่รองรับใน JavaScript ที่ทำแซนด์บ็อกซ์
JavaScript ที่ทำแซนด์บ็อกซ์มี 8 ประเภทที่รองรับ ได้แก่ null
, undefined
,
boolean
, number
, string
, Array
, Object
และ function
หากมีการกำหนด
ไม่มีเส้นทาง หรือไม่ได้อ้างอิงฟังก์ชัน undefined
จะ
ส่งคืนแล้ว
ไวยากรณ์
callInWindow(pathToFunction, argument [, argument2,... argumentN])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
pathToFunction |
สตริง | เส้นทางที่คั่นด้วยจุดไปยังฟังก์ชันใน window เพื่อ
การโทร |
args |
* | อาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชัน |
สิทธิ์ที่เชื่อมโยง
access_globals
ที่เปิดใช้สิทธิ์ execute
callLater
กำหนดเวลาการเรียกฟังก์ชันให้เกิดขึ้นแบบไม่พร้อมกัน ฟังก์ชันจะ
หลังจากที่โค้ดปัจจุบันแสดงผลแล้ว ซึ่งเทียบเท่ากับ
setTimeout(<function>, 0)
ไวยากรณ์
callLater(function)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
function |
ฟังก์ชัน | ฟังก์ชันที่จะเรียก |
copyFromDataLayer
แสดงค่าปัจจุบันที่กำหนดให้คีย์ที่ระบุในชั้นข้อมูล:
ที่พบในคีย์ที่ระบุหากเป็นประเภท ฟังก์ชัน หรือออบเจ็กต์พื้นฐาน
ลิเทอรัล หรือ undefined
ไวยากรณ์
copyFromDataLayer(key[, dataLayerVersion])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
key |
สตริง | คีย์ในรูปแบบ "a.b.c" |
dataLayerVersion |
ตัวเลข | ข้อมูลที่ไม่บังคับ เวอร์ชันเลเยอร์ ค่าเริ่มต้นคือ 2 เราไม่แนะนำให้ทำ ใช้ค่า 1 |
สิทธิ์ที่เชื่อมโยง
copyFromWindow
คัดลอกตัวแปรจากออบเจ็กต์ window
หากต้องไม่มีค่าใน window
แมปโดยตรงกับประเภทที่ JavaScript ที่ทำแซนด์บ็อกซ์รองรับโดยตรง undefined
จะ
ส่งคืนแล้ว JavaScript ที่ทำแซนด์บ็อกซ์มี 8 ประเภทที่รองรับ ได้แก่ null
undefined
, boolean
, number
, string
, Array
, Object
และ function
แสดงผลค่าที่ดึง (และบังคับให้)
ไวยากรณ์
copyFromWindow(key)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
key |
สตริง | คีย์ใน window ที่จะคัดลอกค่า |
สิทธิ์ที่เชื่อมโยง
createArgumentsQueue
สร้างคิวที่มีการป้อนข้อมูลด้วยออบเจ็กต์อาร์กิวเมนต์เพื่อสนับสนุนแท็ก โซลูชันที่จำเป็น
สร้างฟังก์ชันในขอบเขตทั้งหมด (นั่นคือ window
) โดยใช้อาร์กิวเมนต์ fnKey
(ความหมายเดียวกับ createQueue
) เมื่อสร้างฟังก์ชันแล้ว API นี้จะ
สร้างอาร์เรย์ใน window
(หากยังไม่มี) โดยใช้ arrayKey
อาร์กิวเมนต์
เมื่อมีการเรียกใช้ฟังก์ชันที่สร้างใน fnKey
ฟังก์ชันดังกล่าวจะพุชอาร์กิวเมนต์
ลงในอาร์เรย์ที่สร้างภายใต้ arrayKey
ค่าผลลัพธ์ของ API คือ
สร้างขึ้นภายใต้ fnKey
ฟังก์ชันนี้ต้องใช้การตั้งค่าการอ่านและการเขียนสำหรับ fnKey
และ arrayKey
ใน
สิทธิ์ access_globals
ตัวอย่างเช่น
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
ไวยากรณ์
createArgumentsQueue(fnKey, arrayKey)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
fnKey |
สตริง | เส้นทางใน window ที่มีการตั้งค่าฟังก์ชันไว้ หากมี
ไม่มีอยู่ อาร์กิวเมนต์นี้รองรับรูปแบบจุดมาตรฐาน หาก
ไม่มีเส้นทางของคีย์ มีการส่งข้อยกเว้น กล่าวคือ หาก
fnKey มีค่า 'one.two' จะโยน
ข้อยกเว้น |
arrayKey |
สตริง | เส้นทางใน window ที่มีการตั้งค่าอาร์เรย์ หากไม่ใช่
มีอยู่แล้ว อาร์กิวเมนต์นี้รองรับรูปแบบจุดมาตรฐาน หาก
ไม่มีเส้นทางของคีย์ มีการส่งข้อยกเว้น กล่าวคือ หาก
arrayKey คือ'one.two' และไม่มี
ออบเจ็กต์ส่วนกลางชื่อ 'one' ระบบจะแสดงข้อผิดพลาด
ข้อยกเว้น |
สิทธิ์ที่เชื่อมโยง
createQueue
สร้างอาร์เรย์ใน window
(หากยังไม่มี) และแสดงผล
ที่จะพุชค่าไปยังอาร์เรย์นั้น
ฟังก์ชันนี้ต้องใช้การตั้งค่าการอ่านและการเขียนสำหรับ arrayKey
ใน
สิทธิ์access_globals
ตัวอย่างเช่น
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
ไวยากรณ์
createQueue(arrayKey)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
arrayKey |
สตริง | คีย์ใน window ที่ตั้งค่าอาร์เรย์ หากไม่ได้กำหนด
มีอยู่แล้ว อาร์กิวเมนต์นี้รองรับรูปแบบจุดมาตรฐาน หาก
ไม่มีเส้นทางของคีย์ มีการส่งข้อยกเว้น ตัวอย่างเช่น หาก
arrayKey คือ'one.two' และไม่มี
ออบเจ็กต์ส่วนกลางชื่อ 'one' ระบบจะแสดงข้อผิดพลาด
ข้อยกเว้น |
สิทธิ์ที่เชื่อมโยง
decodeUri
ถอดรหัสอักขระที่เข้ารหัสใน URI ที่ระบุ แสดงผลสตริงที่
หมายถึง URI ที่ถอดรหัสแล้ว แสดงค่า undefined
เมื่อระบุค่าไม่ถูกต้อง
อินพุต
ตัวอย่างเช่น
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
ไวยากรณ์
decodeUri(encoded_uri)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
encoded_uri |
สตริง | URI ที่เข้ารหัสโดย
encodeUri()
หรือด้วยวิธีอื่น |
สิทธิ์ที่เชื่อมโยง
ไม่มี
decodeUriComponent
ถอดรหัสอักขระที่เข้ารหัสในคอมโพเนนต์ URI ที่ระบุ ส่งคืน
string ที่แสดงถึงคอมโพเนนต์ URI ที่ถอดรหัสแล้ว แสดงผล undefined
เมื่อ
ที่ให้ไว้โดยมีการป้อนข้อมูลที่ไม่ถูกต้อง
ตัวอย่างเช่น
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
ไวยากรณ์
decodeUriComponent(encoded_uri_component)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
encoded_uri_component |
สตริง | คอมโพเนนต์ URI ที่เข้ารหัสโดย
encodeUriComponent()
หรือด้วยวิธีอื่น |
สิทธิ์ที่เชื่อมโยง
ไม่มี
encodeUri
แสดง Uniform Resource Identifier (URI) ที่เข้ารหัสโดยการ Escape แบบพิเศษ
อักขระ แสดงผลสตริงที่แสดงถึงสตริงที่ให้ไว้ซึ่งเข้ารหัสเป็น
URI แสดงผล undefined
เมื่อมีอินพุตที่ไม่ถูกต้อง (ตัวแทนแบบเดี่ยว)
ตัวอย่างเช่น
sendPixel('https://www.example.com/' + encodeUri(pathInput));
ไวยากรณ์
encodeUri(uri)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
uri |
สตริง | URI ที่สมบูรณ์ |
สิทธิ์ที่เชื่อมโยง
ไม่มี
encodeUriComponent
แสดง Uniform Resource Identifier (URI) ที่เข้ารหัสโดยการ Escape แบบพิเศษ
อักขระ แสดงผลสตริงที่แสดงถึงสตริงที่ให้ไว้ซึ่งเข้ารหัสเป็น
URI แสดงผล undefined
เมื่อมีอินพุตที่ไม่ถูกต้อง (ตัวแทนแบบเดี่ยว)
ตัวอย่างเช่น
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
ไวยากรณ์
encodeUriComponent(str)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
str |
สตริง | คอมโพเนนต์ของ URI |
สิทธิ์ที่เชื่อมโยง
ไม่มี
fromBase64
fromBase64
API ช่วยให้คุณถอดรหัสสตริงจาก base64 ได้
การให้คำแนะนำ แสดงผล undefined
เมื่อมีอินพุตที่ไม่ถูกต้อง
ไวยากรณ์
fromBase64(base64EncodedString)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
base64EncodedString |
สตริง | สตริงที่เข้ารหัส Base64 |
ตัวอย่าง
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
สิทธิ์ที่เชื่อมโยง
ไม่มี
generateRandom
แสดงผล number แบบสุ่ม (จำนวนเต็ม) ภายในช่วงที่กำหนด
ไวยากรณ์
generateRandom(min, max)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
min |
ตัวเลข | ค่าที่เป็นไปได้ขั้นต่ำของจำนวนเต็มที่แสดงผล |
max |
ตัวเลข | ค่าสูงสุดที่เป็นไปได้ของจำนวนเต็มที่แสดงผล |
สิทธิ์ที่เชื่อมโยง
ไม่มี
getContainerVersion
แสดงผลออบเจ็กต์ที่มีข้อมูลเกี่ยวกับคอนเทนเนอร์ปัจจุบัน ผลลัพธ์ มีฟิลด์ต่อไปนี้
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
ตัวอย่าง
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
ไวยากรณ์
getContainerVersion();
สิทธิ์ที่เชื่อมโยง
getCookieValues
แสดงผลค่าของคุกกี้ทั้งหมดที่มีชื่อตัวหนึ่ง
ไวยากรณ์
getCookieValues(name[, decode])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
name |
สตริง | ชื่อของคุกกี้ |
decode |
บูลีน | ควบคุมว่าจะถอดรหัสค่าคุกกี้ด้วยหรือไม่
JavaScript
decodeURIComponent() ค่าเริ่มต้นคือ
true |
สิทธิ์ที่เชื่อมโยง
getQueryParameters
แสดงผลพารามิเตอร์แรกหรือทั้งหมดของ queryKey
ของ URL ปัจจุบัน
แสดงค่าแรกจาก queryKey
หรืออาร์เรย์ของค่าจาก
queryKey
ไวยากรณ์
getQueryParameters(queryKey[, retrieveAll])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
queryKey |
สตริง | คีย์ที่จะอ่านจากพารามิเตอร์การค้นหา |
retrieveAll |
บูลีน | เลือกว่าจะเรียกค่าทั้งหมดหรือไม่ |
ตัวอย่างเช่น ถ้า URL ปัจจุบันคือ
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
จากนั้น:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
สิทธิ์ที่เชื่อมโยง
get_url
ต้องอนุญาตคอมโพเนนต์ query
และต้องระบุ queryKey
ใน
คีย์การค้นหาที่อนุญาต (หรืออนุญาตคีย์การค้นหาใดก็ได้)
getReferrerQueryParameters
getReferrerQueryParameters
API ทำงานในลักษณะเดียวกันกับ getQueryParameters
เว้นแต่ว่า URL นี้จะทำงานกับ URL ที่มาแทน URL ปัจจุบัน แสดงค่าแรกหรือค่า
พารามิเตอร์ทั้งหมดสำหรับ queryKey
ของผู้บอกต่อที่ระบุ แสดงค่าแรก
จาก queryKey
หรืออาร์เรย์ของค่าจาก queryKey
ไวยากรณ์
getReferrerQueryParameters(queryKey[, retrieveAll])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
queryKey |
สตริง | คีย์ที่จะอ่านจากพารามิเตอร์การค้นหา |
retrieveAll |
บูลีน | เลือกว่าจะเรียกค่าทั้งหมดหรือไม่ |
ตัวอย่างเช่น หาก URL ที่มาคือ
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
จากนั้น:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
สิทธิ์ที่เชื่อมโยง
get_referrer
ต้องอนุญาตคอมโพเนนต์ query
และต้องระบุ
queryKey
ในคีย์การค้นหาที่อนุญาต (หรืออนุญาตคีย์การค้นหาใดก็ได้)
getReferrerUrl
เมื่อมีประเภทคอมโพเนนต์แล้ว API จะอ่านออบเจ็กต์เอกสารสำหรับผู้อ้างอิงและ จะแสดงสตริงที่แสดงถึงส่วนของผู้อ้างอิง หากไม่มีคอมโพเนนต์ ที่ระบุ ระบบจะส่งคืน URL ที่มาแบบเต็ม
ไวยากรณ์
getReferrerUrl([component])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
component |
สตริง | คอมโพเนนต์ที่จะแสดงผลจาก URL อาจมีสถานะใดสถานะหนึ่งดังต่อไปนี้
protocol host port
path , query , extension ถ้า
component undefined , null หรือ
ไม่ตรงกับหนึ่งในองค์ประกอบเหล่านี้ URL ทั้งหมดจะ
ส่งคืนแล้ว |
สิทธิ์ที่เชื่อมโยง
get_referrer
ต้องอนุญาตคอมโพเนนต์ query
และต้องระบุ
queryKey
ในคีย์การค้นหาที่อนุญาต (หรืออนุญาตคีย์การค้นหาใดก็ได้)
getTimestamp
เลิกใช้งานแล้ว โปรดใช้ getTimestampMillis
แสดง number ที่แทนเวลาปัจจุบันเป็นมิลลิวินาทีตั้งแต่ Unix
Epoch ตามที่ Date.now()
แสดงผล
ไวยากรณ์
getTimestamp();
สิทธิ์ที่เชื่อมโยง
ไม่มี
getTimestampMillis
แสดง number ที่แทนเวลาปัจจุบันเป็นมิลลิวินาทีตั้งแต่ Unix
Epoch ตามที่ Date.now()
แสดงผล
ไวยากรณ์
getTimestampMillis();
สิทธิ์ที่เชื่อมโยง
ไม่มี
getType
แสดงผลสตริงที่อธิบายประเภทของค่าที่ระบุ สิ่งที่ต่างจาก typeof
getType
จะแยกความแตกต่างระหว่าง array
และ object
ไวยากรณ์
getType(data.someField)
หมายเหตุ
ตารางต่อไปนี้แสดงสตริงที่แสดงผลสำหรับค่าอินพุตแต่ละค่า
ค่าอินพุต | ผลลัพธ์ |
---|---|
undefined |
"undefined" |
null |
"null" |
true |
"บูลีน" |
12 |
"number" |
'string' |
"string" |
{ a: 3 } |
"object" |
[ 1, 3 ] |
"array" |
(x) => x + 1 |
"function" |
สิทธิ์ที่เชื่อมโยง
ไม่มี
getUrl
แสดงผลสตริงที่แสดงถึง URL ปัจจุบันทั้งหมดหรือบางส่วน ประเภทคอมโพเนนต์ และพารามิเตอร์การกำหนดค่าบางอย่าง
ไวยากรณ์
getUrl(component)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
component |
สตริง | คอมโพเนนต์ที่จะแสดงผลจาก URL ต้องเป็นหนึ่งในรายการต่อไปนี้
protocol host port
path query extension
fragment หากคอมโพเนนต์คือ undefined
null หรือไม่ตรงกับองค์ประกอบเหล่านี้
ระบบจะแสดงผลค่า href ทั้งหมด |
สิทธิ์ที่เชื่อมโยง
gtagSet
พุชคำสั่งชุด gtag ไปยังชั้นข้อมูลเพื่อให้ประมวลผลทันที เป็นไปได้หลังจากเหตุการณ์ปัจจุบันและแท็กที่ทริกเกอร์นั้นเสร็จแล้ว การประมวลผล (หรือถึงระยะหมดเวลาประมวลผลแท็กแล้ว) รับประกันการอัปเดต ที่จะประมวลผลในคอนเทนเนอร์นี้ก่อนรายการที่อยู่ในคิวในชั้นข้อมูล คิว
ตัวอย่างเช่น หากแท็กเริ่มทำงานในการเริ่มต้นขอความยินยอม ระบบจะเรียกค่าต่อไปนี้
จะใช้การอัปเดตก่อนที่จะประมวลผลเหตุการณ์การเริ่มต้น ตัวอย่าง
จะ ads_data_redaction
กำลังตั้งค่าเป็น true
หรือ false
หรือ url_passthrough
กำลังตั้งค่าเป็น true
หรือ false
ตัวอย่างเช่น
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
ไวยากรณ์
gtagSet(object)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
Object |
ออบเจ็กต์ | ออบเจ็กต์ที่อัปเดตสถานะส่วนกลางสำหรับพร็อพเพอร์ตี้ที่มี |
สิทธิ์ที่เชื่อมโยง
write_data_layer
ตรวจสอบสิทธิ์ในการเขียนถึง dataLayer
สำหรับทั้งหมด
คีย์ที่ระบุ หากอินพุตไปยัง gtagSet
เป็นออบเจ็กต์ทั่วไป API จะตรวจสอบ
สำหรับสิทธิ์การเขียนคีย์ที่ตัดเป็นหลายรายการภายในออบเจ็กต์นั้น เช่น สำหรับ
gtagSet({foo: {bar: 'baz'}})
API จะตรวจสอบการเขียน
สิทธิ์ foo.bar
หากอินพุตไปยัง gtagSet
เป็นคีย์และค่าออบเจ็กต์ที่ไม่ใช่แบบธรรมดา API จะ
ตรวจสอบสิทธิ์การเขียนไปยังคีย์นั้น เช่น สำหรับ gtagSet('abc', true)
API จะตรวจสอบสิทธิ์การเขียนไปยัง 'abc'
โปรดทราบว่าหากวัตถุอินพุตมีรอบ จะมีเฉพาะคีย์ก่อนไปถึง จะมีการทำเครื่องหมายออบเจ็กต์เดียวกันไว้
injectHiddenIframe
เพิ่ม iframe ที่มองไม่เห็นลงในหน้าเว็บ
ระบบจะกำหนด Callback เป็นอินสแตนซ์ฟังก์ชันและรวมไว้ใน JavaScript ฟังก์ชันที่เรียกผ่านเบราว์เซอร์ได้
ไวยากรณ์
injectHiddenIframe(url, onSuccess)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | URL ที่จะใช้เป็นค่าของ src ของ iframe
|
onSuccess |
ฟังก์ชัน | เรียกใช้เมื่อโหลดเฟรมสำเร็จ |
สิทธิ์ที่เชื่อมโยง
injectScript
เพิ่มแท็กสคริปต์ลงในหน้าเว็บเพื่อโหลด URL ที่ระบุแบบอะซิงโครนัส Callback จะถือเป็นอินสแตนซ์ฟังก์ชันและรวมไว้ใน JavaScript ฟังก์ชันที่เรียกผ่านเบราว์เซอร์ได้
ไวยากรณ์
injectScript(url, onSuccess, onFailure[, cacheToken])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | ที่อยู่ของสคริปต์ที่จะแทรก |
onSuccess |
ฟังก์ชัน | เรียกใช้เมื่อสคริปต์โหลดสำเร็จแล้ว |
onFailure |
ฟังก์ชัน | มีการเรียกใช้เมื่อโหลดสคริปต์ไม่สำเร็จ |
cacheToken |
สตริง | สตริงที่ไม่บังคับซึ่งใช้เพื่อระบุว่า URL ที่ระบุควรแคช ถ้า
ระบุค่านี้ จะมีการสร้างเอลิเมนต์สคริปต์เพียงรายการเดียวสำหรับ
ขอ JavaScript ความพยายามโหลดเพิ่มเติมใดๆ จะส่งผลให้
เมธอด onSuccess และ onFailure ที่ระบุ
อยู่ในคิวจนกว่าสคริปต์จะโหลด |
สิทธิ์ที่เชื่อมโยง
isConsentGranted
แสดงผลเป็น "จริง" หากให้สิทธิ์ประเภทคํายินยอมที่ระบุ
ถือว่าได้รับความยินยอมสำหรับความยินยอมบางประเภทในกรณีที่ได้รับความยินยอม ประเภท ถูกตั้งค่าเป็น "อนุญาต" หรือไม่ได้ตั้งค่าเลย หากตั้งค่าประเภทความยินยอมเป็น มูลค่าอื่นๆ ที่จะถือว่าไม่ได้รับสิทธิ์
อินเทอร์เฟซผู้ใช้ของ Tag Manager สำหรับการตั้งค่าแท็กจะมีตัวเลือกให้
ไฟ หากแท็กที่เปิดทำงานตลอดเวลาใช้ API นี้ ระบบจะพิจารณาความยินยอม
ให้สิทธิ์และระบบจะแสดงผล true
ไม่ว่าสถานะจริงของความยินยอมจะเป็นเช่นไร
ตัวอย่างเช่น
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
ไวยากรณ์
isConsentGranted(consentType)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ประเภทความยินยอมที่จะตรวจสอบสถานะ |
สิทธิ์ที่เชื่อมโยง
สิทธิ์ access_consent
ที่มีสิทธิ์อ่านสำหรับประเภทความยินยอม
JSON
แสดงผลออบเจ็กต์ที่มีฟังก์ชัน JSON
ฟังก์ชัน parse()
จะแยกวิเคราะห์สตริง JSON เพื่อสร้างค่าหรือออบเจ็กต์
ที่อธิบายโดยสตริง หากไม่สามารถแยกวิเคราะห์ค่า (เช่น JSON ที่มีรูปแบบไม่ถูกต้อง)
ฟังก์ชันจะแสดงผล undefined
หากค่าที่ป้อนไม่ใช่สตริง ค่า
จะถูกเปลี่ยนเป็นสตริง
ฟังก์ชัน stringify()
จะแปลงอินพุตเป็นสตริง JSON หากค่า
ไม่สามารถแยกวิเคราะห์ได้ (เช่น ออบเจ็กต์มีวงจร) เมธอดจะแสดง
undefined
ไวยากรณ์
JSON.parse(stringInput)
JSON.stringify(value);
พารามิเตอร์
JSON.parse
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
stringInput | ใดก็ได้ | ค่าที่จะแปลง หากค่าไม่ใช่สตริง อินพุตจะเป็น แปลงเป็นสตริง |
JSON.stringify
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value | ใดก็ได้ | ค่าที่จะแปลง |
ตัวอย่าง
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
แสดงผลออบเจ็กต์พร้อมวิธีการเข้าถึงพื้นที่เก็บข้อมูลในตัวเครื่อง
ไวยากรณ์
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
สิทธิ์ที่เชื่อมโยง
ตัวอย่าง
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
บันทึกอาร์กิวเมนต์ไปยังคอนโซลของเบราว์เซอร์
ไวยากรณ์
logToConsole(obj1 [, obj2,... objN])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
obj1 [, obj2,... objN] |
ใดก็ได้ | อาร์กิวเมนต์ |
สิทธิ์ที่เชื่อมโยง
makeInteger
แปลงค่าที่ระบุเป็น number (จำนวนเต็ม)
ไวยากรณ์
makeInteger(value)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value |
ใดก็ได้ | ค่าที่จะแปลง |
สิทธิ์ที่เชื่อมโยง
ไม่มี
makeNumber
แปลงค่าที่ระบุเป็น number
ไวยากรณ์
makeNumber(value)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value |
ใดก็ได้ | ค่าที่จะแปลง |
สิทธิ์ที่เชื่อมโยง
ไม่มี
makeString
แสดงผลค่าที่ระบุเป็น string
ไวยากรณ์
makeString(value)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value |
ใดก็ได้ | ค่าที่จะแปลง |
สิทธิ์ที่เชื่อมโยง
ไม่มี
makeTableMap
แปลงออบเจ็กต์ตารางแบบง่ายที่มี 2 คอลัมน์ให้เป็น Map
ใช้เพื่อ
เปลี่ยนช่องเทมเพลต SIMPLE_TABLE
ที่มี 2 คอลัมน์ให้จัดการได้ง่ายขึ้น
เช่น ฟังก์ชันนี้แปลงออบเจ็กต์ตารางได้
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
ลงในแผนที่:
{
'k1': 'v1',
'k2': 'v2'
}
แสดงออบเจ็กต์: Map
ที่แปลงแล้วหากมีการเพิ่มคู่คีย์-ค่าลงใน
หรือ null
ไวยากรณ์
makeTableMap(tableObj, keyColumnName, valueColumnName)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
tableObj |
List | ออบเจ็กต์ตารางที่จะแปลง เป็นรายการแผนที่โดยที่
Map แสดงแถวในตาราง ชื่อพร็อพเพอร์ตี้แต่ละรายการใน
ออบเจ็กต์แถวคือชื่อคอลัมน์ และค่าพร็อพเพอร์ตี้คือคอลัมน์
ในแถว |
keyColumnName |
สตริง | ชื่อคอลัมน์ที่ค่าจะกลายเป็นคีย์ใน Conversion
Map |
valueColumnName |
สตริง | ชื่อคอลัมน์ที่ค่าจะกลายเป็นค่าใน Conversion
Map |
สิทธิ์ที่เชื่อมโยง
ไม่มี
Math
ออบเจ็กต์ที่มี Math
ฟังก์ชัน
ไวยากรณ์
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
พารามิเตอร์
ระบบจะแปลงพารามิเตอร์ฟังก์ชันทางคณิตศาสตร์เป็นตัวเลข
สิทธิ์ที่เชื่อมโยง
ไม่มี
Object
แสดงผลออบเจ็กต์ที่ระบุเมธอด Object
เมธอด keys()
จะมี Object.keys() ของไลบรารีมาตรฐาน
พฤติกรรมของคุณ แสดงผลอาร์เรย์ของพร็อพเพอร์ตี้ที่แจกแจงได้ของออบเจ็กต์ที่กำหนด
ในลำดับเดียวกับที่ for...in...
วนซ้ำ หากค่าที่ป้อนคือ
ไม่ใช่วัตถุ แต่จะถูกเปลี่ยนเป็นวัตถุ
เมธอด values()
จะมี Object.values() ของไลบรารีมาตรฐาน
พฤติกรรมของคุณ แสดงผลอาร์เรย์ของค่าพร็อพเพอร์ตี้ที่แจกแจงได้ของออบเจ็กต์ที่กำหนด
ในลำดับเดียวกับที่ for...in...
วนซ้ำ หากค่าที่ป้อนไม่ใช่ค่า
ก็จะเปลี่ยนเป็นออบเจ็กต์
เมธอด entries()
มีไลบรารีมาตรฐาน Object.entries()
พฤติกรรมของคุณ แสดงผลอาร์เรย์ของพร็อพเพอร์ตี้ที่แจกแจงได้ของออบเจ็กต์ที่กำหนด
[key, value]
จับคู่ในลำดับเดียวกับที่ for...in...
จะวนซ้ำ หาก
ค่าที่ป้อนไม่ใช่วัตถุ แต่จะถูกเปลี่ยนเป็นวัตถุ
เมธอด freeze()
จะมีไลบรารีมาตรฐาน Object.freeze()
พฤติกรรมของคุณ วัตถุที่ตรึงไม่สามารถเปลี่ยนแปลงได้อีกต่อไป การตรึงวัตถุจะป้องกันไม่ให้
เพิ่มพร็อพเพอร์ตี้ใหม่ นำพร็อพเพอร์ตี้ที่มีอยู่ออก
และค่าของพร็อพเพอร์ตี้ที่มีอยู่ freeze()
แสดงผล
ออบเจ็กต์เดียวกันที่ส่งมา อาร์กิวเมนต์พื้นฐานหรือ Null จะถือว่าเป็น
หากเป็นออบเจ็กต์ที่ค้าง และจะส่งกลับ
เมธอด delete()
จะมีโอเปอเรเตอร์การลบของไลบรารีมาตรฐาน
พฤติกรรมของคุณ โดยจะนำคีย์ที่ระบุออกจากออบเจ็กต์ เว้นแต่ว่าออบเจ็กต์ถูกตรึงไว้
เช่นเดียวกับโอเปอเรเตอร์ลบของไลบรารีมาตรฐาน จะแสดง true
หากอินพุตแรก
ค่า (objectInput
) คือออบเจ็กต์ที่ไม่ได้ตรึงอยู่แม้ว่าอินพุตที่ 2
value (keyToDelete
) ระบุคีย์ที่ไม่มีอยู่ แสดงผล false
ใน
กรณีอื่นๆ ทั้งหมด แต่อาจแตกต่างจากโอเปอเรเตอร์การลบไลบรารีมาตรฐาน
ในลักษณะต่อไปนี้
keyToDelete
ไม่สามารถเป็นสตริงที่คั่นด้วยจุดที่ระบุคีย์ที่ฝัง- ไม่สามารถใช้
delete()
เพื่อนำองค์ประกอบออกจากอาร์เรย์ - ใช้
delete()
เพื่อนำพร็อพเพอร์ตี้ออกจากขอบเขตส่วนกลางไม่ได้
ไวยากรณ์
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
พารามิเตอร์
Object.keys
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
objectInput | ใดก็ได้ | ออบเจ็กต์ที่มีคีย์สำหรับแจกแจง หากอินพุตไม่ใช่วัตถุ จะถูกเปลี่ยนเป็นออบเจ็กต์ |
Object.values
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
objectInput | ใดก็ได้ | ออบเจ็กต์ที่มีค่าที่จะแจกแจง หากอินพุตไม่ใช่ออบเจ็กต์ ก็จะเปลี่ยนเป็นออบเจ็กต์ |
Object.entries
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
objectInput | ใดก็ได้ | ออบเจ็กต์ที่มีคู่คีย์/ค่าที่จะแจกแจง หากข้อมูลที่ป้อนไม่ใช่ ก็จะเปลี่ยนเป็นออบเจ็กต์ |
Object.freeze
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
objectInput | ใดก็ได้ | วัตถุที่จะตรึงวัตถุ หากอินพุตไม่ใช่ออบเจ็กต์ ระบบจะถือว่าเป็นวัตถุที่ตรึงแถวแล้ว |
Object.delete
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
objectInput | ใดก็ได้ | ออบเจ็กต์ที่มีคีย์ที่จะลบ |
keyToDelete | สตริง | คีย์ระดับบนสุดที่จะลบ |
ตัวอย่าง
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
ส่งคืนออบเจ็กต์ที่มีส่วนประกอบทั้งหมดของ URL ที่ระบุ เช่นเดียวกับ
ออบเจ็กต์ URL
API นี้จะคืนค่า undefined
สำหรับ URL ที่มีรูปแบบไม่ถูกต้อง เพื่อให้จัดรูปแบบได้อย่างเหมาะสม
URL ฟิลด์ที่ไม่มีอยู่ในสตริง URL จะมีค่าเป็นสตริงว่าง
หรือในกรณีของ searchParams
คือออบเจ็กต์ว่างเปล่า
ออบเจ็กต์ที่แสดงผลจะมีช่องต่อไปนี้
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
ตัวอย่าง
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
ไวยากรณ์
parseUrl(url);
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | URL แบบเต็มที่จะถูกแยกวิเคราะห์ |
สิทธิ์ที่เชื่อมโยง
ไม่มี
queryPermission
ค้นหาสิทธิ์ที่อนุญาตและที่จํากัด แสดงบูลีน: true
หาก
ได้รับอนุญาต false
ไวยากรณ์
queryPermission(permission, functionArgs*)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
permission |
สตริง | ชื่อสิทธิ์ |
functionArgs |
ใดก็ได้ | อาร์กิวเมนต์ฟังก์ชันจะแตกต่างกันไปตามสิทธิ์ที่ค้นหา โปรดดู อาร์กิวเมนต์ของฟังก์ชันด้านล่าง |
อาร์กิวเมนต์ของฟังก์ชัน
sendPixel
, injectScript
, injectHiddenIframe
: พารามิเตอร์ที่ 2
ควรเป็นสตริง URL
writeGlobals
, readGlobals
: พารามิเตอร์ที่ 2 ควรเป็นคีย์
เขียนหรืออ่านแล้ว
readUrl
: ไม่จำเป็นต้องมีอาร์กิวเมนต์เพิ่มเติมเพื่อค้นหาว่า
อ่าน URL ได้ ในการตรวจสอบว่าคอมโพเนนต์ที่กำหนดสามารถอ่านได้หรือไม่ ให้ส่ง
ชื่อคอมโพเนนต์เป็นอาร์กิวเมนต์ที่ 2:
if (queryPermission('readUrl','port')) {
// read the port
}
หากต้องการตรวจสอบว่าคีย์คำค้นหาหนึ่งๆ อ่านได้ไหม ให้ส่งคีย์คำค้นหาเป็น พารามิเตอร์ที่ 3
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
สิทธิ์ที่เชื่อมโยง
ไม่มี
readCharacterSet
แสดงผลค่าของ document.characterSet
ไวยากรณ์
readCharacterSet()
พารามิเตอร์
ไม่มี
สิทธิ์ที่เชื่อมโยง
readTitle
แสดงผลค่าของ document.title
ไวยากรณ์
readTitle()
พารามิเตอร์
ไม่มี
สิทธิ์ที่เชื่อมโยง
require
นำเข้าฟังก์ชันในตัวตามชื่อ แสดงผลฟังก์ชันหรือออบเจ็กต์ ซึ่งสามารถเรียกใช้ได้จากโปรแกรมของคุณ แสดงค่า undefined เมื่อเบราว์เซอร์ ไม่สนับสนุนฟังก์ชันในตัว
ไวยากรณ์
require(name)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
name |
สตริง | ชื่อของฟังก์ชันที่จะนำเข้า |
ตัวอย่าง
const getUrl = require('getUrl');
const url = getUrl();
สิทธิ์ที่เชื่อมโยง
ไม่มี
sendPixel
ส่งคำขอ GET ไปยังปลายทาง URL ที่ระบุ
ไวยากรณ์
sendPixel(url, onSuccess, onFailure)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | ตำแหน่งที่จะส่งพิกเซล |
onSuccess |
ฟังก์ชัน | มีการเรียกเมื่อโหลดพิกเซลสำเร็จ หมายเหตุ: แม้ว่าคำขอ ส่งสำเร็จแล้ว เบราว์เซอร์อาจต้องการการตอบกลับรูปภาพที่ถูกต้อง ที่ประสบความสำเร็จ |
onFailure |
ฟังก์ชัน | มีการเรียกใช้เมื่อโหลดพิกเซลไม่สำเร็จ หมายเหตุ: แม้ว่าคำขอ ส่งสำเร็จแล้ว onFailure อาจทำงานหากเซิร์ฟเวอร์ไม่ส่งกลับ การตอบกลับรูปภาพที่ถูกต้อง |
สิทธิ์ที่เชื่อมโยง
setCookie
ตั้งค่าหรือลบคุกกี้ที่มีชื่อ ค่า และตัวเลือกที่ระบุ
ไวยากรณ์
setCookie(name, value[, options, encode])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
name |
สตริง | ชื่อของคุกกี้ |
value |
สตริง | ค่าของคุกกี้ |
options |
ออบเจ็กต์ | ระบุ โดเมน Path, Expiration, Max-Age, Secure และ SameSite (โปรดดูตัวเลือกด้านล่าง) |
encode |
บูลีน | ควบคุมว่าจะเข้ารหัสค่าคุกกี้ด้วยหรือไม่
JavaScript
encodeURIComponent()
ค่าเริ่มต้นคือ true |
- โดเมน: ตั้งค่าโดยพร็อพเพอร์ตี้
options['domain']
หากมี ตั้งค่านี้ ถึง'auto'
เพื่อพยายามเขียนคุกกี้โดยใช้โดเมนที่กว้างที่สุดที่เป็นไปได้ ตามตำแหน่งเอกสาร หากไม่ได้ผล ก็จะพยายามแก้ไขไปเรื่อยๆ โดเมนย่อยที่แคบลง หากคุกกี้ทั้งหมดล้มเหลว ระบบจะพยายามเขียนคุกกี้ โดยไม่มีโดเมน หากไม่ได้ตั้งค่า ระบบจะพยายามเขียนคุกกี้ ที่ไม่ได้ระบุโดเมน หมายเหตุ: เมื่อคุกกี้ที่ไม่ได้ระบุโดเมน เขียนเป็นdocument.cookie
แล้ว User Agent จะกำหนดโดเมนของคุกกี้เป็นค่าเริ่มต้น กับโฮสต์ของตำแหน่งเอกสารปัจจุบัน - เส้นทาง: ตั้งค่าโดย
options['path']
หากมี เมื่อคุกกี้ที่ไม่มีเส้นทาง เขียนไปยังdocument.cookie
แล้ว User Agent จะกำหนดค่าเริ่มต้น ของคุกกี้ไปยังเส้นทางของตำแหน่งเอกสารปัจจุบัน - Max-Age: ตั้งค่าโดย
options['max-age']
หากมี - หมดอายุ: ตั้งค่าโดย
options['expires']
หากมี หากมี ต้อง เป็นสตริงวันที่ในรูปแบบ UTCDate.toUTCString()
สามารถใช้เพื่อจัดรูปแบบDate
สำหรับพารามิเตอร์นี้ - ปลอดภัย: ตั้งค่าโดย
options['secure']
หากมี - SameSite: ตั้งค่าโดย
options['samesite']
หากมี
สิทธิ์ที่เชื่อมโยง
setDefaultConsentState
พุชการอัปเดตความยินยอมเริ่มต้นไปยังชั้นข้อมูลเพื่อให้ประมวลผลทันที เป็นไปได้หลังจากเหตุการณ์ปัจจุบันและแท็กที่ทริกเกอร์นั้นเสร็จแล้ว การประมวลผล (หรือถึงระยะหมดเวลาประมวลผลแท็กแล้ว) รับประกันการอัปเดต ในคอนเทนเนอร์นี้ก่อนรายการที่อยู่ในคิวในชั้นข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับความยินยอม
ตัวอย่างเช่น
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
ไวยากรณ์
setDefaultConsentState(consentSettings)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentSettings |
ออบเจ็กต์ | ออบเจ็กต์ที่กำหนดสถานะเริ่มต้นสำหรับความยินยอมที่ระบุ ประเภทต่างๆ |
ออบเจ็กต์ consentSettings
คือการแมปสตริงประเภทความยินยอมที่กําหนดเองกับ
หนึ่งใน 'granted'
หรือ 'denied'
โดยรองรับค่าต่อไปนี้
ชื่อคีย์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ค่าสำหรับความยินยอมแต่ละประเภทอาจกำหนดไว้เป็น "อนุญาต" หรือ "ปฏิเสธ" ค่าอื่นนอกเหนือจาก "granted"" จะถือว่าเป็น "denied"" การเกริ่นนำ ค่าเป็น "undefined" จะไม่มีผลกระทบใดๆ กับค่าก่อนหน้า |
region |
อาร์เรย์ | อาร์เรย์ของรหัสภูมิภาคที่ไม่บังคับซึ่งระบุภูมิภาคที่ การตั้งค่าความยินยอมนั้นมีผลกับ รหัสภูมิภาคจะแสดงโดยใช้ประเทศ และ/หรือส่วนย่อยในรูปแบบ ISO 3166-2 |
wait_for_update |
ตัวเลข | ระบุค่ามิลลิวินาทีเพื่อควบคุมระยะเวลาที่ต้องรอก่อนที่ข้อมูลจะ ที่คุณส่งไป ใช้กับเครื่องมือขอความยินยอมที่โหลดแบบไม่พร้อมกัน |
สิทธิ์ที่เชื่อมโยง
สิทธิ์ access_consent
ที่มีสิทธิ์เขียนสำหรับความยินยอมทุกประเภทใน
ConsentSettings
setInWindow
ตั้งค่าที่ระบุใน window
ในคีย์ที่ระบุ โดยค่าเริ่มต้น วิธีการนี้จะไม่
ตั้งค่าใน window
หากมีค่าอยู่แล้ว ตั้งค่า
overrideExisting
เป็น true
เพื่อตั้งค่าใน window
โดยไม่คำนึงถึงค่า
ที่มีอยู่ แสดงผลบูลีน: true
หากค่าคือ
ตั้งค่าสำเร็จ หรือ false
หากตั้งค่าไว้เป็นอย่างอื่น
ไวยากรณ์
setInWindow(key, value, overrideExisting)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
key |
สตริง | คีย์ใน window ที่จะวางค่า |
value |
* | ค่าที่จะตั้งค่าใน window |
overrideExisting |
บูลีน | ธงที่ระบุว่าควรตั้งค่าใน window
ไม่ว่าจะมีค่าหรือไม่ |
สิทธิ์ที่เชื่อมโยง
sha256
คำนวณไดเจสต์ SHA-256 ของอินพุตและเรียก Callback ที่มีเมธอด
ไดเจสต์ที่เข้ารหัสใน base64 เว้นแต่ออบเจ็กต์ options
จะระบุ
การเข้ารหัสเอาต์พุต
ตัวอย่างเช่น
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
ไวยากรณ์
sha256(input, onSuccess, onFailure = undefined, options = undefined)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
input |
สตริง | สตริงที่จะคำนวณแฮช |
onSuccess |
ฟังก์ชัน | เรียกใช้ด้วยไดเจสต์ผลลัพธ์ ซึ่งเข้ารหัสใน base64 นอกเสียจากว่า
ออบเจ็กต์ options ระบุการเข้ารหัสเอาต์พุตที่แตกต่างกัน |
onFailure |
ฟังก์ชัน | เรียกใช้หากเกิดข้อผิดพลาดขณะคำนวณไดเจสต์ หรือหาก เบราว์เซอร์ไม่มีการสนับสนุนในตัวสำหรับ SHA256 Callback เรียกว่า ด้วยออบเจ็กต์ที่มีชื่อข้อผิดพลาดและข้อความ |
options |
ออบเจ็กต์ | ไม่บังคับเป็นออบเจ็กต์ตัวเลือกเพื่อระบุการเข้ารหัสเอาต์พุต ถ้า
ที่ระบุ ออบเจ็กต์ควรมีคีย์ outputEncoding
ที่มีค่าเป็นหนึ่งใน base64 หรือ hex |
สิทธิ์ที่เชื่อมโยง
ไม่มี
templateStorage
แสดงผลออบเจ็กต์พร้อมวิธีการเข้าถึงพื้นที่เก็บข้อมูลของเทมเพลต เทมเพลต ทำให้สามารถแชร์ข้อมูลระหว่างการทำงานของเทมเพลตเดียวได้ ข้อมูล ที่เก็บไว้ในพื้นที่เก็บข้อมูลเทมเพลตจะยังคงอยู่ตลอดอายุการใช้งานของหน้าเว็บ
ไวยากรณ์
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
สิทธิ์ที่เชื่อมโยง
ตัวอย่าง
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
toBase64
API ช่วยให้คุณเข้ารหัสสตริงลงในการนำเสนอ base64 ได้
ไวยากรณ์
toBase64(input)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
input |
สตริง | สตริงที่จะเข้ารหัส |
ตัวอย่าง
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
สิทธิ์ที่เชื่อมโยง
ไม่มี
updateConsentState
พุชการอัปเดตความยินยอมไปยังชั้นข้อมูลเพื่อให้ประมวลผลโดยเร็วที่สุด หลังจากเหตุการณ์ปัจจุบันและแท็กที่ทริกเกอร์ได้รับการประมวลผลเสร็จสมบูรณ์แล้ว (หรือ ถึงระยะหมดเวลาประมวลผลแท็กแล้ว) เรารับประกันว่าการอัปเดต ที่ประมวลผลในคอนเทนเนอร์นี้ก่อนรายการที่อยู่ในคิวในชั้นข้อมูล ดูข้อมูลเพิ่มเติม เกี่ยวกับความยินยอม
ตัวอย่างเช่น
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
ไวยากรณ์
updateConsentState(consentSettings)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentSettings |
ออบเจ็กต์ | ออบเจ็กต์ที่อัปเดตสถานะสำหรับประเภทความยินยอมที่ระบุ |
ออบเจ็กต์ consentSettings
คือการแมปสตริงประเภทความยินยอมที่กําหนดเองกับ
หนึ่งใน 'granted'
หรือ 'denied'
โดยรองรับค่าต่อไปนี้
ชื่อคีย์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ค่าสำหรับความยินยอมแต่ละประเภทสามารถตั้งเป็น "ให้สิทธิ์แล้ว" หรือ "ปฏิเสธ" ค่าอื่นๆ นอกเหนือจาก "granted" จะถือว่าเป็น "ปฏิเสธ" การเกริ่นนำ ค่าเป็น "undefined" จะไม่มีผลใดๆ ต่อค่าก่อนหน้า |
สิทธิ์ที่เชื่อมโยง
สิทธิ์ access_consent
ที่มีสิทธิ์เขียนสำหรับความยินยอมทุกประเภทใน
ConsentSettings
ทดสอบ API
API เหล่านี้ทำงานร่วมกับการทดสอบ JavaScript ที่ทำแซนด์บ็อกซ์เพื่อสร้างการทดสอบสำหรับ
เทมเพลตใน Google Tag Manager API ทดสอบเหล่านี้ไม่ต้องใช้ require()
ข้อความ ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบเทมเพลตที่กำหนดเอง
assertApi
ส่งคืนออบเจ็กต์ตัวจับคู่ที่สามารถใช้เพื่อทำการยืนยันเกี่ยวกับ API ที่กำหนด
ไวยากรณ์
assertApi(apiName)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
apiName |
สตริง | ชื่อของ API ที่จะตรวจสอบ สตริงเดียวกับที่ส่งไปยัง
require()
|
เครื่องมือจับคู่
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
ตัวอย่าง
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
assertThat
API จำลองมาจากไลบรารี [Truth] ของ Google โดยจะแสดงค่า
ที่สามารถใช้ยืนยันคุณค่าของหัวข้อหนึ่งๆ ได้อย่างคล่องแคล่ว CANNOT TRANSLATE
การยืนยันล้มเหลวจะหยุดการทดสอบทันทีและทำเครื่องหมายว่าล้มเหลว อย่างไรก็ตาม
ความล้มเหลวในการทดสอบครั้งหนึ่งจะไม่มีผลต่อกรอบการทดสอบอื่นๆ
ไวยากรณ์
assertThat(actual, opt_message)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
actual |
ใดก็ได้ | ค่าที่จะใช้ในการตรวจสอบความคล่องแคล่ว |
opt_message |
สตริง | ข้อความที่ไม่บังคับสำหรับพิมพ์หากยืนยันไม่สำเร็จ |
เครื่องมือจับคู่
ตัวจับคู่ | คำอธิบาย |
---|---|
isUndefined() |
ยืนยันว่าหัวข้อคือ undefined |
isDefined() |
ยืนยันว่าหัวข้อไม่ใช่ undefined |
isNull() |
ยืนยันว่าหัวข้อคือ null |
isNotNull() |
ยืนยันว่าหัวข้อไม่ใช่ null |
isFalse() |
ยืนยันว่าหัวข้อคือ false |
isTrue() |
ยืนยันว่าหัวข้อคือ true |
isFalsy() |
ยืนยันว่าหัวข้อไม่ถูกต้อง ค่าที่เป็นเท็จคือ
undefined null false
NaN , 0 และ '' (สตริงว่างเปล่า) |
isTruthy() |
ยืนยันว่าหัวข้อเป็นเรื่องจริง ค่าที่เป็นเท็จคือ
undefined null false
NaN , 0 และ '' (สตริงว่างเปล่า) |
isNaN() |
ยืนยันว่าหัวข้อเป็นค่า NaN |
isNotNaN() |
รับรองว่าเนื้อหามีค่านอกเหนือจาก NaN |
isInfinity() |
ยืนยันว่าเนื้อหาเป็นเรื่องของอินฟินิตี้เชิงบวกหรือเชิงลบ |
isNotInfinity() |
รับรองว่าเนื้อหามีค่านอกเหนือจากค่าบวกหรือค่าลบ อนันต์ |
isEqualTo(expected) |
รับรองว่าเนื้อหาเท่ากับค่าที่กำหนด นี่คือค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง เนื้อหาของออบเจ็กต์และอาร์เรย์ เปรียบเทียบซ้ำ |
isNotEqualTo(expected) |
ยืนยันว่าหัวข้อไม่เท่ากับค่าที่ระบุ นี่คือ การเปรียบเทียบมูลค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง เนื้อหาของออบเจ็กต์และ จะเปรียบเทียบซ้ำๆ กัน |
isAnyOf(...expected) |
ยืนยันว่าหัวข้อเท่ากับค่าใดค่าหนึ่งที่กำหนด นี่คือ การเปรียบเทียบมูลค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง เนื้อหาของออบเจ็กต์และ จะเปรียบเทียบซ้ำๆ กัน |
isNoneOf(...expected) |
รับรองว่าหัวข้อไม่เท่ากับค่าที่กำหนด ช่วงเวลานี้ เป็นการเปรียบเทียบค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง เนื้อหาของออบเจ็กต์ และอาร์เรย์ที่มีการเปรียบเทียบซ้ำๆ |
isStrictlyEqualTo(expected) |
รับรองว่าเนื้อหามีความเหมือนกันทุกประการ (=== )
มูลค่าที่กำหนด |
isNotStrictlyEqualTo(expected) |
ยืนยันว่าหัวข้อไม่เท่ากันทุกประการ (!== )
ค่าที่กำหนด |
isGreaterThan(expected) |
รับรองว่าวัตถุมากกว่า (> ) องค์ประกอบที่กำหนด
ในการเปรียบเทียบตามลำดับ |
isGreaterThanOrEqualTo(expected) |
รับรองว่าวัตถุมากกว่าหรือเท่ากับ
(>= ) ค่าที่ระบุในการเปรียบเทียบตามลำดับ |
isLessThan(expected) |
ยืนยันว่าหัวเรื่องน้อยกว่า (< ) องค์ประกอบที่กำหนด
ในการเปรียบเทียบตามลำดับ |
isLessThanOrEqualTo(expected) |
ยืนยันว่าวัตถุมีค่าน้อยกว่าหรือเท่ากับ (<= )
ค่าที่ระบุในการเปรียบเทียบตามลำดับ |
contains(...expected) |
รับรองว่าเรื่องเป็นอาร์เรย์หรือสตริงที่มี ค่าที่ระบุโดยเรียงลำดับอย่างไรก็ได้ นี่คือการเปรียบเทียบค่า ไม่ใช่ข้อมูลอ้างอิง เปรียบเทียบ ระบบจะเปรียบเทียบเนื้อหาของออบเจ็กต์และอาร์เรย์ ซ้ำๆ |
doesNotContain(...expected) |
รับรองว่าเรื่องเป็นอาร์เรย์หรือสตริงที่ไม่มี ค่าที่กำหนด นี่คือการเปรียบเทียบค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง ระบบจะเปรียบเทียบเนื้อหาของออบเจ็กต์และอาร์เรย์ซ้ำ |
containsExactly(...expected) |
รับรองว่าเป็นอาร์เรย์ที่มี ในลำดับใดก็ได้ และต้องไม่มีค่าอื่นๆ นี่คือการเปรียบเทียบค่า ไม่ใช่ การเปรียบเทียบข้อมูลอ้างอิง ระบบจะเปรียบเทียบเนื้อหาของออบเจ็กต์และอาร์เรย์ ซ้ำๆ |
doesNotContainExactly(...expected) |
ยืนยันว่าหัวเรื่องเป็นอาร์เรย์ที่มีชุดที่แตกต่างกัน จากค่าที่กำหนดในลำดับใดก็ได้ นี่คือการเปรียบเทียบค่า ไม่ใช่การเปรียบเทียบข้อมูลอ้างอิง เนื้อหาของออบเจ็กต์และอาร์เรย์มีดังนี้ เปรียบเทียบซ้ำๆ |
hasLength(expected) |
รับรองว่าเรื่องเป็นอาร์เรย์หรือสตริงที่มีความยาวตามที่กำหนด การยืนยันจะล้มเหลวเสมอหากค่าไม่ใช่อาร์เรย์หรือสตริง |
isEmpty() |
รับรองว่าเรื่องเป็นอาร์เรย์หรือสตริงที่ว่างเปล่า (ความยาว = 0) การยืนยันจะล้มเหลวเสมอหากค่าไม่ใช่อาร์เรย์ หรือ สตริง |
isNotEmpty() |
รับรองว่าเรื่องเป็นอาร์เรย์หรือสตริงที่ไม่ว่างเปล่า (length > 0) การยืนยันจะล้มเหลวเสมอหากค่าไม่ใช่อาร์เรย์ หรือสตริง |
isArray() |
ยืนยันว่าประเภทของหัวเรื่องเป็นอาร์เรย์ |
isBoolean() |
ยืนยันว่าประเภทของหัวเรื่องเป็นบูลีน |
isFunction() |
ยืนยันว่าประเภทของวัตถุเป็นฟังก์ชัน |
isNumber() |
ยืนยันว่าประเภทของเนื้อหาเป็นตัวเลข |
isObject() |
ยืนยันว่าประเภทของวัตถุคือวัตถุ |
isString() |
ยืนยันว่าประเภทของหัวเรื่องเป็นสตริง |
ตัวอย่าง
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
ไม่ผ่านการทดสอบปัจจุบันทันทีและพิมพ์ข้อความที่ระบุไว้ (หากระบุไว้)
ไวยากรณ์
fail(opt_message);
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
opt_message |
สตริง | ข้อความแสดงข้อผิดพลาดที่ไม่บังคับ |
ตัวอย่าง
fail('This test has failed.');
mock
mock
API ช่วยให้คุณลบล้างลักษณะการทำงานของ Sandboxed API ได้ ตัวอย่าง
API ใช้งานได้อย่างปลอดภัยในโค้ดเทมเพลต แต่จะทำงานในโหมดทดสอบเท่านั้น
ระบบจะรีเซ็ตการจำลองก่อนที่จะทำการทดสอบแต่ละครั้ง
ไวยากรณ์
mock(apiName, returnValue);
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
apiName |
สตริง | ชื่อของ API ที่จะจำลอง สตริงเดียวกับที่ส่งไปยัง
require() |
returnValue |
ใดก็ได้ | ค่าที่จะส่งคืนสำหรับ API หรือฟังก์ชันที่เรียกแทนพารามิเตอร์
API หาก returnValue เป็นฟังก์ชัน จะมีการเรียกใช้ฟังก์ชันนั้นใน
ตำแหน่งของ Sandboxed API หาก returnValue เป็นอย่างอื่น
มากกว่าฟังก์ชัน ระบบจะแสดงผลค่านั้นแทนที่เครื่องมือแซนด์บ็อกซ์
API |
ตัวอย่าง
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
mockObject
API ช่วยให้คุณลบล้างลักษณะการทำงานของ Sandbox API ที่
แสดงผลออบเจ็กต์ API นี้ใช้ได้อย่างปลอดภัยในโค้ดเทมเพลต แต่ทำงานได้
เฉพาะในโหมดทดสอบเท่านั้น ระบบจะรีเซ็ตการจำลองก่อนที่จะทำการทดสอบแต่ละครั้ง
ไวยากรณ์
mockObject(apiName, objectMock);
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
apiName |
สตริง | ชื่อของ API ที่จะจำลอง สตริงเดียวกับที่ส่งไปยัง
require() |
objectMock |
ออบเจ็กต์ | ค่าที่จะส่งคืนสำหรับ API หรือฟังก์ชันที่เรียกแทนพารามิเตอร์ API ต้องเป็นออบเจ็กต์ |
ตัวอย่าง
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
เรียกใช้โค้ดสำหรับเทมเพลต นั่นคือเนื้อหาของแท็บโค้ดใน สภาพแวดล้อมการทดสอบปัจจุบันด้วยออบเจ็กต์ข้อมูลอินพุตที่กำหนด
ไวยากรณ์
runCode(data)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
data |
ออบเจ็กต์ | ออบเจ็กต์ข้อมูลที่จะใช้ในการทดสอบ |
มูลค่าการคืนสินค้า
ส่งคืนค่าของตัวแปรสำหรับเทมเพลตตัวแปร ส่งคืน undefined
สำหรับ
เทมเพลตประเภทอื่นๆ ทั้งหมด
ตัวอย่าง
runCode({field1: 123, field2: 'value'});