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 |
ของ Google | ฟังก์ชันที่จะเรียกใช้เมื่อมีการเปลี่ยนแปลงสถานะของประเภทความยินยอมที่ระบุ |
เมื่อมีการเรียกใช้ Listener ระบบจะส่งความยินยอมประเภทความยินยอมที่มีการเปลี่ยนแปลง และค่าใหม่ของประเภทความยินยอมนั้น
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
consentType |
สตริง | ประเภทความยินยอมที่ต้องการเปลี่ยนแปลง |
granted |
boolean | บูลีนที่เป็นจริงหากมีการเปลี่ยนประเภทความยินยอมที่ระบุเป็นให้สิทธิ์ |
สิทธิ์ที่เกี่ยวข้อง
สิทธิ์ access_consent
พร้อมสิทธิ์อ่านสำหรับประเภทความยินยอม
addEventCallback
addEventCallback
API ช่วยให้คุณลงทะเบียนฟังก์ชันเรียกกลับที่จะมีการเรียกใช้เมื่อสิ้นสุดเหตุการณ์ได้ ระบบจะเรียกใช้โค้ดเรียกกลับเมื่อแท็กทั้งหมดสำหรับเหตุการณ์ทำงานแล้ว หรือถึงระยะหมดเวลาของเหตุการณ์ในหน้าเว็บ
จะมีการส่งผ่านค่า 2 ค่า คือรหัสของคอนเทนเนอร์ที่เรียกใช้ฟังก์ชันและออบเจ็กต์ที่มีข้อมูลเกี่ยวกับเหตุการณ์
ไวยากรณ์
addEventCallback(callback)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
callback |
ของ Google | ฟังก์ชันที่จะเรียกใช้เมื่อสิ้นสุดเหตุการณ์ |
ออบเจ็กต์ 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
ด้วยอาร์กิวเมนต์ที่ระบุและแสดงผลค่า หากประเภทการแสดงผลแมปกับประเภทที่รองรับใน JavaScript แบบแซนด์บ็อกซ์โดยตรงไม่ได้ ระบบจะแสดงผล undefined
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 |
ของ Google | ฟังก์ชันที่เรียกใช้ |
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 ที่ระบุ แสดงผลสตริงที่แสดงถึงคอมโพเนนต์ 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) ที่เข้ารหัสโดยซ่อนสัญลักษณ์พิเศษ แสดงผลสตริงที่แสดงถึงสตริงที่ให้ไว้ซึ่งเข้ารหัสเป็น URI แสดงผล undefined
เมื่อมีอินพุตที่ไม่ถูกต้อง (ตัวแทนเดียว)
ตัวอย่างเช่น
sendPixel('https://www.example.com/' + encodeUri(pathInput));
ไวยากรณ์
encodeUri(uri)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
uri |
สตริง | URI ที่สมบูรณ์ |
สิทธิ์ที่เกี่ยวข้อง
ไม่มี
encodeUriComponent
แสดงผล Uniform Resource Identifier (URI) ที่เข้ารหัสโดยซ่อนสัญลักษณ์พิเศษ แสดงผลสตริงที่แสดงถึงสตริงที่ให้ไว้ซึ่งเข้ารหัสเป็น 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
แสดงผลตัวเลขแบบสุ่ม (จำนวนเต็ม) ภายในช่วงที่ระบุ
ไวยากรณ์
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 |
boolean | ควบคุมว่าจะถอดรหัสค่าคุกกี้ด้วย
decodeURIComponent() ของ JavaScript หรือไม่ ค่าเริ่มต้นคือ true |
สิทธิ์ที่เกี่ยวข้อง
getQueryParameters
แสดงพารามิเตอร์แรกหรือทั้งหมดสำหรับ queryKey
ของ URL ปัจจุบัน
แสดงผลค่าแรกจาก queryKey
หรืออาร์เรย์ของค่าจาก queryKey
ไวยากรณ์
getQueryParameters(queryKey[, retrieveAll])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
queryKey |
สตริง | คีย์ในการอ่านจากพารามิเตอร์การค้นหา |
retrieveAll |
boolean | จะเรียกข้อมูลค่าทั้งหมดหรือไม่ |
ตัวอย่างเช่น หาก 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 ปัจจุบัน แสดงพารามิเตอร์แรกหรือทั้งหมดสำหรับ queryKey
ของผู้อ้างอิงที่ระบุ แสดงผลค่าแรกจาก queryKey
หรืออาร์เรย์ของค่าจาก queryKey
ไวยากรณ์
getReferrerQueryParameters(queryKey[, retrieveAll])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
queryKey |
สตริง | คีย์ในการอ่านจากพารามิเตอร์การค้นหา |
retrieveAll |
boolean | จะเรียกข้อมูลค่าทั้งหมดหรือไม่ |
ตัวอย่างเช่น หาก 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
แสดงผล string ที่อธิบายประเภทของค่าที่ระบุ ต่างจาก typeof
getType
ความแตกต่างระหว่าง array
กับ object
ไวยากรณ์
getType(data.someField)
Notes
ตารางต่อไปนี้แสดงสตริงที่แสดงผลสำหรับค่าอินพุตแต่ละค่า
ค่าอินพุต | ผลลัพธ์ |
---|---|
undefined |
"ไม่ระบุ" |
null |
"null" |
true |
'boolean' |
12 |
"number" |
'string' |
"string" |
{ a: 3 } |
"ออบเจ็กต์" |
[ 1, 3 ] |
"อาร์เรย์" |
(x) => x + 1 |
"ฟังก์ชัน" |
สิทธิ์ที่เกี่ยวข้อง
ไม่มี
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 ที่มองไม่เห็นลงในหน้า
โค้ดเรียกกลับจะถูกระบุเป็นอินสแตนซ์ของฟังก์ชัน และรวมอยู่ในฟังก์ชัน JavaScript ที่เรียกใช้ไปยังฟังก์ชันดังกล่าว
ไวยากรณ์
injectHiddenIframe(url, onSuccess)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | URL ที่จะใช้เป็นค่าของแอตทริบิวต์ src ของ iframe |
onSuccess |
ของ Google | เรียกใช้เมื่อเฟรมโหลดสำเร็จ |
สิทธิ์ที่เกี่ยวข้อง
injectScript
เพิ่มแท็กสคริปต์ลงในหน้าเว็บเพื่อโหลด URL ที่ระบุแบบไม่พร้อมกัน โค้ดเรียกกลับจะแสดงเป็นอินสแตนซ์ของฟังก์ชัน และรวมอยู่ในฟังก์ชัน JavaScript ที่เรียกใช้ไปยังฟังก์ชันดังกล่าว
ไวยากรณ์
injectScript(url, onSuccess, onFailure[, cacheToken])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
url |
สตริง | ที่อยู่ของสคริปต์ที่จะแทรก |
onSuccess |
ของ Google | เรียกใช้เมื่อสคริปต์โหลดสำเร็จ |
onFailure |
ของ Google | เรียกใช้เมื่อโหลดสคริปต์ไม่สำเร็จ |
cacheToken |
สตริง | สตริงทางเลือกที่ใช้เพื่อระบุว่าควรแคช URL ที่ระบุ หากระบุค่านี้ไว้ ระบบจะสร้างองค์ประกอบสคริปต์เพียง 1 รายการเพื่อขอ 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
แปลงค่าที่ระบุเป็นตัวเลข (จำนวนเต็ม)
ไวยากรณ์
makeInteger(value)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value |
ทั้งหมด | ค่าที่จะแปลง |
สิทธิ์ที่เกี่ยวข้อง
ไม่มี
makeNumber
แปลงค่าที่ระบุเป็น number
ไวยากรณ์
makeNumber(value)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
value |
ทั้งหมด | ค่าที่จะแปลง |
สิทธิ์ที่เกี่ยวข้อง
ไม่มี
makeString
แสดงผลค่าที่ระบุเป็นสตริง
ไวยากรณ์
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 |
สตริง | ชื่อของคอลัมน์ที่ค่าจะกลายเป็นคีย์ใน Map ที่แปลงแล้ว |
valueColumnName |
สตริง | ชื่อของคอลัมน์ที่ค่าจะกลายเป็นค่าใน 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
) เป็นออบเจ็กต์ที่ไม่ตรึงแม้ว่าค่าอินพุตที่สอง (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
ค้นหาสิทธิ์ที่อนุญาตและแคบ แสดงผล boolean: 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 |
ของ Google | เรียกใช้เมื่อพิกเซลโหลดสำเร็จ หมายเหตุ: แม้ว่าจะส่งคำขอสำเร็จ แต่เบราว์เซอร์อาจต้องมีการตอบกลับรูปภาพที่ถูกต้องเพื่อให้เรียกใช้ onSuccess |
onFailure |
ของ Google | เรียกใช้เมื่อโหลดพิกเซลไม่สำเร็จ หมายเหตุ: แม้ว่าจะส่งคำขอเรียบร้อยแล้ว onFailure อาจทํางานหากเซิร์ฟเวอร์ไม่ตอบกลับรูปภาพที่ถูกต้อง |
สิทธิ์ที่เกี่ยวข้อง
setCookie
ตั้งค่าหรือลบคุกกี้โดยใช้ชื่อ ค่า และตัวเลือกที่ระบุ
ไวยากรณ์
setCookie(name, value[, options, encode])
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
name |
สตริง | ชื่อของคุกกี้ |
value |
สตริง | ค่าของคุกกี้ |
options |
ออบเจ็กต์ | ระบุแอตทริบิวต์ Domain, Path, Expiration, Max-Age, Secure และ SameSite (ดูตัวเลือกด้านล่าง) |
encode |
boolean | ควบคุมว่าจะให้เข้ารหัสค่าคุกกี้ด้วย encodeURIComponent() ของ JavaScript หรือไม่
ค่าเริ่มต้นคือ true |
- โดเมน: ตั้งค่าโดยพร็อพเพอร์ตี้
options['domain']
หากมี ตั้งค่านี้เป็น'auto'
เพื่อพยายามเขียนคุกกี้โดยใช้โดเมนที่กว้างที่สุดที่เป็นไปได้โดยอิงตามตำแหน่งของเอกสาร หากไม่ได้ผล ก็จะพยายามลดโดเมนย่อยลงเรื่อยๆ ถ้าทำอย่างนั้นทั้งหมดไม่สำเร็จ ระบบจะพยายามเขียนคุกกี้โดยไม่มีโดเมน หากไม่ได้กำหนดค่าไว้ ระบบจะพยายามเขียนคุกกี้โดยไม่ระบุโดเมน หมายเหตุ: เมื่อมีการเขียนคุกกี้ที่ไม่มีโดเมนที่ระบุไปยังdocument.cookie
User Agent จะตั้งค่าเริ่มต้นของโดเมนของคุกกี้เป็นโฮสต์ของตำแหน่งเอกสารปัจจุบัน - เส้นทาง: กำหนดโดย
options['path']
หากมี เมื่อมีการเขียนคุกกี้ที่ไม่ได้ระบุเส้นทางไว้ไปยังdocument.cookie
User Agent จะกำหนดเส้นทางของคุกกี้ไปยังเส้นทางของตำแหน่งเอกสารปัจจุบันเป็นค่าเริ่มต้น - Max-Age: ตั้งค่าโดย
options['max-age']
หากมี - หมดอายุ: ตั้งค่าโดย
options['expires']
หากมี หากมี ค่านี้ต้องเป็นสตริงวันที่ในรูปแบบ UTC คุณใช้Date.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'` ได้ ระบบจะถือว่าค่าอื่นนอกเหนือจาก ''Granted'" เป็น ''denied' การตั้งค่าเป็น "undefined" จะไม่ส่งผลต่อค่าก่อนหน้า |
region |
อาร์เรย์ | อาร์เรย์ที่ไม่บังคับของรหัสภูมิภาคซึ่งระบุภูมิภาคที่ใช้การตั้งค่าความยินยอม รหัสภูมิภาคจะแสดงโดยใช้ประเทศและ/หรือการแยกย่อยในรูปแบบ ISO 3166-2 |
wait_for_update |
ตัวเลข | ระบุค่ามิลลิวินาทีเพื่อควบคุมระยะเวลาในการรอก่อนที่ข้อมูลจะส่ง ใช้กับเครื่องมือขอความยินยอมที่โหลดไม่พร้อมกัน |
สิทธิ์ที่เกี่ยวข้อง
สิทธิ์ access_consent
ที่มีสิทธิ์เขียนสำหรับความยินยอมทุกประเภทในออบเจ็กต์ "consentSettings"
setInWindow
ตั้งค่าที่ระบุใน window
ที่คีย์ที่ระบุ โดยค่าเริ่มต้น วิธีนี้จะไม่ตั้งค่าใน window
หากมีค่าอยู่แล้ว ตั้งค่า overrideExisting
เป็น true
เพื่อตั้งค่าใน window
ไม่ว่าค่าที่มีอยู่แล้วจะมีอยู่หรือไม่ก็ตาม แสดงผล boolean: true
หากตั้งค่าสำเร็จ และ false
ในกรณีอื่นๆ
ไวยากรณ์
setInWindow(key, value, overrideExisting)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
key |
สตริง | คีย์ใน window ที่จะวางค่า |
value |
* | ค่าที่จะกำหนดใน window |
overrideExisting |
boolean | แฟล็กที่ระบุว่าค่าดังกล่าวควรกำหนดไว้ใน window ไม่ว่าจะมีค่าหรือไม่ |
สิทธิ์ที่เกี่ยวข้อง
sha256
จะคำนวณไดเจสต์ SHA-256 ของอินพุตและเรียกใช้โค้ดเรียกกลับที่มีไดเจสต์ที่เข้ารหัสใน 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 |
ของ Google | เรียกใช้ด้วยไดเจสต์ผลลัพธ์ที่เข้ารหัสใน base64 เว้นแต่ออบเจ็กต์ options จะระบุการเข้ารหัสเอาต์พุตอื่น |
onFailure |
ของ Google | เรียกใช้หากเกิดข้อผิดพลาดขณะคำนวณไดเจสต์ หรือหากเบราว์เซอร์ไม่รองรับ sha256 ในตัว ระบบจะเรียกใช้โค้ดเรียกกลับด้วยออบเจ็กต์ที่มีชื่อข้อผิดพลาดและข้อความ |
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 |
สตริง | คุณตั้งค่าสำหรับความยินยอมแต่ละประเภทเป็น "ให้สิทธิ์แล้ว" หรือ "ปฏิเสธ" ได้ ค่าอื่นๆ ที่ไม่ใช่ "ได้รับสิทธิ์" จะถือเป็น "ปฏิเสธ" การตั้งค่าเป็น "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 โดยจะส่งคืนออบเจ็กต์ที่สามารถใช้ยืนยันคุณค่าของวัตถุได้อย่างคล่องแคล่ว ข้อผิดพลาดในการยืนยันจะทำให้การทดสอบหยุดลงทันทีและทำเครื่องหมายว่าล้มเหลว อย่างไรก็ตาม ความล้มเหลวในการทดสอบหนึ่งจะไม่ส่งผลกระทบต่อกรอบการทดสอบอื่นๆ
ไวยากรณ์
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() |
ยืนยันว่าเรื่องเป็นอาร์เรย์หรือสตริงที่ว่างเปล่า (length = 0) การยืนยันจะล้มเหลวเสมอหากค่าไม่ใช่อาร์เรย์หรือสตริง |
isNotEmpty() |
ยืนยันว่าเรื่องเป็นอาร์เรย์หรือสตริงที่ไม่ว่างเปล่า (ความยาว > 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 ช่วยให้คุณลบล้างลักษณะการทำงานของ API ที่แซนด์บ็อกซ์ได้ API จำลองปลอดภัยที่จะใช้ในโค้ดของเทมเพลต แต่จะไม่สามารถใช้งานได้เมื่อไม่ได้อยู่ในโหมดทดสอบ ระบบจะรีเซ็ตการจำลองก่อนทำการทดสอบแต่ละครั้ง
ไวยากรณ์
mock(apiName, returnValue);
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
apiName |
สตริง | ชื่อ API ที่จะจำลอง ซึ่งเป็นสตริงเดียวกันกับที่ส่งไปยัง require() |
returnValue |
ทั้งหมด | ค่าที่จะแสดงผลสำหรับ API หรือฟังก์ชันที่มีการเรียกใช้แทน API หาก returnValue เป็นฟังก์ชัน ระบบจะเรียกใช้ฟังก์ชันนั้นแทน API ที่แซนด์บ็อกซ์ หาก returnValue เป็นอย่างอื่นที่ไม่ใช่ฟังก์ชัน ระบบจะแสดงผลค่านั้นแทน API ที่แซนด์บ็อกซ์ |
ตัวอย่าง
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
runCode
เรียกใช้โค้ดสำหรับเทมเพลต ซึ่งก็คือเนื้อหาแท็บโค้ด ในสภาพแวดล้อมการทดสอบปัจจุบันที่มีออบเจ็กต์ข้อมูลอินพุตที่กำหนด
ไวยากรณ์
runCode(data)
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
data |
ออบเจ็กต์ | ออบเจ็กต์ข้อมูลที่จะใช้ในการทดสอบ |
ผลลัพธ์
แสดงผลค่าตัวแปรสำหรับเทมเพลตตัวแปร แสดงผล undefined
สำหรับเทมเพลตประเภทอื่นๆ ทั้งหมด
ตัวอย่าง
runCode({field1: 123, field2: 'value'});