Korumalı alana sahip JavaScript, JavaScript dilinin,
Google etiketinden rastgele JavaScript mantığı yürütmek için güvenli bir yol sunar
Yöneticinin özel şablonları. Güvenli bir yürütme ortamı sağlamak için
JavaScript özellikleri kısıtlanır veya kaldırılır. Korumalı alana sahip JavaScript,
hakkında daha fazla bilgi edinin. Ok işlevleri ve
const
/let
beyan mevcut.
Global yürütme ortamı
Korumalı alana sahip JavaScript, standart genel yürütmede yürütülmüyor
olması nedeniyle window
nesnesi ve özellikleri
kullanılamıyor. Buna, global kapsamda tanımlanan şu yöntemler de dahildir:
encodeURI
veya setTimeout
, location
veya document
gibi genel değerler ve
Yüklenen komut dosyaları tarafından tanımlanan genel değerler. Bunların yerine, global require
işlevi, bu yapılandırmaların birçoğunu sağlayan, korumalı alana alınmış tüm JavaScript'ler
işlevlerine dahildir. Değerler, penceredeki açılır menüden
copyFromWindow
yardımcı programı.
Basitleştirilmiş tür sistemi
Korumalı alana sahip JavaScript şu türleri destekler: null
, undefined
,
string
, number
, boolean
, array
, object
ve function
. Diziler ve
nesne değişmez söz dizimi ( [] {}
) kullanılarak oluşturulur ve
standart global yürütme ortamına erişim, küresel kurucular ve
String()
ve Number()
kullanılamıyor. Şu konumda new
anahtar kelime yok:
korumalı alana alınmış JavaScript'tir ve işlevlerin this
anahtar kelimesine erişimi yoktur.
Bazı yerel tür yöntemleri de kaldırıldı. Şuna ait standart kitaplığa göz atın:
Desteklenen yerel türü yöntemlerinin kapsamlı listesi.
Özel şablon kod biçimi
Özel bir şablonu uygulamak için yazılan kod bir
her etkinleştiğinde veya değişkeniniz her etkinleştiğinde yürütülecek
yardımcı olur. Bu işlevde, tüm parametreleri barındıran tek bir veri parametresi (data
) bulunur
ilgili etiket veya değişken örneği için kullanıcı arayüzünde yapılandırılan değerler (anahtarlar ayarlandığında)
özel şablonda belirtilen şablon parametrelerinin adlarını değiştirin.
Örnek işaretçi etiketi uygulaması
const sendPixel = require('sendPixel');
const encodeUri = require('encodeUri');
const encodeUriComponent = require('encodeUriComponent');
let url = encodeUri(data['url']);
if (data['useCacheBuster']) {
const encode = require('encodeUriComponent');
const cacheBusterQueryParam = data['cacheBusterQueryParam'] || 'gtmcb';
const last = url.charAt(url.length - 1);
let delimiter = '&';
if (url.indexOf('?') < 0) {
delimiter = '?';
} else if (last == '?' || last == '&') {
delimiter = '';
}
url += delimiter +
encodeUriComponent(cacheBusterQueryParam) + '=' + encodeUriComponent(data['randomNumber']);
}
sendPixel(url, data['gtmOnSuccess'], data['gtmOnFailure']);