يوضّح هذا المستند أذونات نماذج الويب المخصَّصة.
يتميّز كل إذن بما يلي:
- تم التحقّق من البيانات بواسطة واجهات برمجة التطبيقات التي تتطلّبها.
- يتم رصدها تلقائيًا في JavaScript في وضع الحماية، استنادًا إلى واجهات برمجة التطبيقات التي يتم استخدامها. ويحدث ذلك عند إجراء تعديلات في محرِّر النماذج المخصّصة (للحصول على تقرير ملاحظات سريع)، وبعد تجميع الرمز (للتحقّق من فرض الأذونات الصحيحة).
- قابل للتعديل في محرِّر النماذج المخصّصة لجعل الإذن أكثر تحديدًا.
- يمكن طلب البحث في JavaScript في وضع الحماية من خلال واجهة برمجة التطبيقات
queryPermission
.
access_globals
الاسم المعروض: الوصول إلى المتغيّرات العمومية
الوصف: تسمح هذه السياسة بالوصول إلى متغيّر عمومي (من المحتمل أن يتضمّن واجهات برمجة تطبيقات حسّاسة).
الإعدادات: قائمة بالمفاتيح التي يمكن الوصول إليها. كل مفتاح عبارة عن
مسار مفصول بالنقاط. على سبيل المثال: foo.bar
يجب ألا يكون الرمز المميّز الأول في كل مسار
مفتاحًا محدّدًا مسبقًا للنطاق العالمي للمتصفِّح أو كلمة رئيسية بلغة JavaScript. يحتوي على مربعات اختيار للقراءة
والكتابة والتنفيذ تحكم الوصول.
مطلوب من: setInWindow
وcopyFromWindow
وcallInWindow
وcreateQueue
وcreateArgumentsQueue
توقيع طلب البحث: queryPermission('access_globals', 'read', <key to read
from>)
أو queryPermission('access_globals', 'write', <key to write to>)
أو
queryPermission('access_globals', 'readwrite', <key to read and write>)
أو
queryPermission('access_globals', 'execute', <key of function to execute>)
ملاحظات: تتحكّم هذه السياسة في ما إذا كان بإمكان النموذج المخصّص قراءة و/أو الكتابة إلى قيم عامة.
مثال على الرمز
const queryPermission = require('queryPermission');
const createQueue = require('createQueue');
if (queryPermission('access_globals', 'readwrite', 'dataLayer')) {
const dataLayerPush = createQueue('dataLayer');
}
access_local_storage
الاسم المعروض: للوصول إلى مساحة التخزين المحلية
الوصف: السماح بالوصول إلى المفاتيح المحدَّدة في مساحة التخزين المحلية
الإعدادات: قائمة بمفاتيح التخزين المحلية التي يمكن الوصول إليها. هذه مجموعة بسيطة من المفاتيح، بدون أحرف بدل. يحتوي على مربعات اختيار للقراءة والكتابة تدير وصول الحكومة.
مطلوب من: localStorage
توقيع طلب البحث: queryPermission('access_local_storage', 'read', <key to
read from>)
أو queryPermission('access_local_storage', 'write', <key to write
to>)
أو queryPermission('access_local_storage', 'readwrite', <key to read and
write>)
مثال على الرمز
const queryPermission = require('queryPermission');
const localStorage = require('localStorage');
const key = 'my_key';
if (queryPermission('access_local_storage', 'read', key)) {
const value = localStorage.getItem(key);
}
access_template_storage
الاسم المعروض: للوصول إلى مساحة تخزين النموذج
الوصف: يسمح بالوصول إلى مساحة التخزين المؤقتة للنماذج التي يمكن أن تستمر طوال فترة عرض الصفحة.
الإعدادات: غير متوفّرة
مطلوب من: templateStorage
توقيع طلب البحث: queryPermission('access_template_storage')
مثال على الرمز
const queryPermission = require('queryPermission');
const templateStorage = require('templateStorage');
const key = 'my_key';
if (queryPermission('access_template_storage')) {
const value = templateStorage.getItem(key);
}
get_cookies
الاسم المعروض: يقرأ قيم ملفات تعريف الارتباط
الوصف: تقرأ قيم ملفات تعريف الارتباط بالاسم المحدَّد.
الإعداد: قائمة بأسماء ملفات تعريف الارتباط المسموح بها للقراءة.
مطلوب من: getCookieValues
توقيع طلب البحث: queryPermission('get_cookies', <name>)
ملاحظات: يتحكّم هذا الخيار في إمكانية قراءة ملف تعريف الارتباط، وذلك استنادًا إلى اسمه.
مثال على الرمز
const queryPermission = require('queryPermission');
const getCookieValues = require('getCookieValues');
const cookieName = 'info';
let cookieValues;
if (queryPermission('get_cookies', cookieName)) {
cookieValues = getCookieValues(cookieName);
}
get_referrer
الاسم المعروض: يعرض عنوان URL المُحيل
الوصف: يسمح بالوصول للقراءة إلى الأجزاء المحدودة من المُحيل.
الضبط: تتحكّم القيم المنطقية التالية في القسم الذي يمكن قراءته من المُحيل. لا يمكن قراءة جزء معيّن من المُحيل إلا إذا كان الجزء المقابل له هو true
. يمكن للمتصل استدعاء getReferrerUrl
بدون مكوّن محدد للحصول على
عنوان URL المُحيل بالكامل إذا تم ضبط جميع هذه القيم المنطقية على true
. إذا لم يتم ضبط أي قيمة، ستكون القيمة التلقائية هي all
. إذا تم ضبط قيمة، يجب أن تكون القيمة عبارة عن مصفوفة من المكوّنات حيث يكون أحد المكوّنات أحد الأنواع التالية: protocol
أو host
أو port
أو path
أو query
أو extension
.
queryKeys
:
في حال اختيار طلب البحث، قد يحدّ مؤلف النموذج من مجموعة
مفاتيح طلب البحث التي يمكنه القراءة منها. هذه مصفوفة بسيطة من المفاتيح، بدون
أحرف بدل.
مطلوب من: getReferrerUrl
، getReferrerQueryParameters
توقيع طلب البحث: queryPermission('get_referrer', <url_component>)
مثال على الرمز
const queryPermission = require('queryPermission');
const getReferrerUrl = require('getReferrerUrl');
let referrer;
if (queryPermission('get_referrer', 'query')) {
referrer = getReferrerUrl('queryParams');
}
get_url
الاسم المعروض: يقرأ عنوان URL
الوصف: لعرض جزء من عنوان URL للصفحة الحالية أو جزء منه.
الضبط: تتحكّم القيم المنطقية التالية في القسم الذي يمكن قراءته من عنوان URL. لا يمكن قراءة جزء معيّن من عنوان URL إلّا إذا كان الجزء المقابل له صحيحًا. يمكن للمتصل استدعاء getUrl
بدون تحديد مكوّن للحصول على
عنوان URL الكامل إذا تم ضبط جميع هذه القيم المنطقية على true
فقط. إذا لم يتم ضبط أي قيمة، ستكون القيمة التلقائية هي all
إذا تم ضبط قيمة، يجب أن تكون القيمة مصفوفة من المكوّنات التي يكون فيها المكوِّن واحدًا مما يلي: protocol
أو host
أو port
أو path
أو query
أو extension
أو fragment
.
queryKeys
:
في حال اختيار طلب البحث، قد يحدّ مؤلف النموذج من مجموعة
مفاتيح طلب البحث التي يمكنه القراءة منها. هذه مصفوفة بسيطة من المفاتيح، بدون
أحرف بدل.
مطلوب من: getUrl
توقيع طلب البحث: queryPermission('get_url', <optional url component>,
<optional query key>)
في حال توفير هذه السمة، يجب أن يكون مكوّن عنوان URL واحدًا على النحو التالي: 'protocol'
أو 'host'
أو 'port'
أو 'path'
أو 'query'
أو 'extension'
أو 'fragment'
. في حال حذفه، يكون استعلام الإذن هو طلب الوصول إلى عنوان URL بالكامل.
في حالة توفير مفتاح الاستعلام، يجب أن يكون وسيطة سلسلة الاستعلام التي يريد رمز النموذج قراءتها.
ملاحظات: تتحكَّم هذه السياسة في إمكانية قراءة نموذج مخصَّص من الموقع الجغرافي الحالي. تسمح بتقييد المحتوى في جزء معين من الموقع.
مثال على الرمز
const queryPermission = require('queryPermission');
const getUrl = require('getUrl');
if (queryPermission('get_url', 'query', 'gclid')) {
const gclid = getUrl('query', false, null, 'gclid');
}
inject_hidden_iframe
الاسم المعروض: لإدخال إطارات iframe مخفية
الوصف: إدخال إطار iframe غير مرئي بعنوان URL معيّن.
الإعداد: قائمة أنماط عناوين URL
مطلوب من: injectHiddenIframe
توقيع طلب البحث: queryPermission('inject_hidden_iframe', <url>)
ملاحظات: يتحكّم هذا الخيار في ما إذا كان بإمكان النموذج المخصّص إدخال إطار iframe غير مرئي، وتحديد المصدر الذي يمكنه ذلك منه.
مثال على الرمز
const queryPermission = require('queryPermission');
const injectHiddenIframe = require('injectHiddenIframe');
const url = 'https://www.example.com/iframes';
if (queryPermission('inject_hidden_iframe', url)) {
injectHiddenIframe(url);
}
inject_script
الاسم المعروض: لإدخال نصوص برمجية
الوصف: لإدخال نص برمجي في الصفحة.
الإعداد: قائمة أنماط عناوين URL
مطلوب من: injectScript
توقيع طلب البحث: queryPermission('inject_script', <url>)
ملاحظات: يتحكّم هذا الخيار في ما إذا كان بإمكان النموذج المخصّص إدخال JavaScript، ومن المصدر الذي يمكنه إجراء ذلك.
مثال على الرمز
const queryPermission = require('queryPermission');
const injectScript = require('injectScript');
const url = 'https://www.example.com?api.js';
if (queryPermission('inject_script', url)) {
injectScript(url);
}
تسجيل
الاسم المعروض: السجلات في وحدة التحكّم
الوصف: تُسجِّل الدخول إلى وحدة تحكُّم المطوِّر ووضع المعاينة في "إدارة العلامات من Google".
الإعداد: خيار تفعيل تسجيل الدخول في مرحلة الإنتاج. إعداد الإعدادات التلقائية للسماح
بتسجيل الدخول لتصحيح الأخطاء/المعاينة فقط إذا تم رفض الإذن، لن يعرض logToConsole
خطأ، ولكن سيوقف رسالة السجلّ.
مطلوب من: logToConsole
توقيع طلب البحث: queryPermission('logging')
ملاحظات: تتحكَّم هذه السياسة في إمكانية تسجيل نموذج مخصَّص إلى وحدة تحكُّم المطوِّر.
مثال على الرمز
const queryPermission = require('queryPermission');
const logToConsole = require('logToConsole');
// Note that it's fine to call log, since the log call will be ignored if
// logging isn't permitted in the current environment.
logToConsole('diagnostic info');
read_data_layer
الاسم المعروض: يقرأ طبقة البيانات
الوصف: تقرأ البيانات من dataLayer.
الضبط: مجموعة من تعبيرات المطابقة الرئيسية، حيث يمكن أن تكون مطابقة المفتاح سلسلة رئيسية من المراجع المنقَّطة، مع حرف بدل لاحق. تتحكم تعبيرات المطابقة الرئيسية في الخصائص التي يمكن قراءتها من طبقة البيانات.
مطلوب من: copyFromDataLayer
توقيع طلب البحث: queryPermission('read_data_layer', <data layer key to read
from>)
ملاحظات: تتحكَّم هذه السياسة في إمكانية قراءة نموذج مخصَّص من طبقة البيانات.
مثال على الرمز
const queryPermission = require('queryPermission');
const copyFromDataLayer = require('copyFromDataLayer');
const dlKey = 'foo.bar';
if (queryPermission('read_data_layer', dlKey)) {
const dlContents = copyFromDataLayer(dlKey);
}
read_character_set
الاسم المعروض: لقراءة مجموعة أحرف المستند
الوصف: اقرأ document.characterSet
.
الإعدادات: غير متوفّرة
مطلوب من: readCharacterSet
توقيع طلب البحث: queryPermission('read_character_set')
ملاحظات: يتحكّم هذا الإعداد في ما إذا كان يمكن استخدام نموذج مخصّص لقراءة document.characterSet
.
مثال على الرمز
const queryPermission = require('queryPermission');
const readCharacterSet = require('readCharacterSet');
if (queryPermission('read_character_set')) {
const characterSet = readCharacterSet();
}
read_container_data
الاسم المعروض: لقراءة بيانات الحاوية
الوصف: تقرأ بيانات عن الحاوية.
الإعدادات: غير متوفّرة
مطلوب من: getContainerVersion
توقيع طلب البحث: queryPermission('read_container_data')
ملاحظات: تتحكّم هذه السياسة في ما إذا كان النموذج المخصّص يمكنه قراءة البيانات المتعلقة بالحاويات.
مثال على الرمز
const queryPermission = require('queryPermission');
const getCookieValues = require('getContainerVersion');
let version;
if (queryPermission('read_container_data')) {
version = getContainerVersion();
}
read_event_metadata
الاسم المعروض: لقراءة البيانات الوصفية للحدث
الوصف: قراءة البيانات الوصفية للحدث في طلبات معاودة الاتصال للأحداث
الإعدادات: غير متوفّرة
مطلوب من: addEventCallback
توقيع طلب البحث: queryPermission('read_event_metadata')
ملاحظات: تتحكَّم هذه السياسة في ما إذا كان بإمكان نموذج مخصَّص قراءة البيانات الوصفية للحدث في عمليات معاودة الاتصال.
مثال على الرمز
const queryPermission = require('queryPermission');
const addEventCallback = require('addEventCallback');
if (queryPermission('read_event_metadata')) {
addEventCallback((containerId, eventMetadata) => {
// Read event metadata.
});
}
read_title
الاسم المعروض: لقراءة عنوان المستند
الوصف: اقرأ document.title
.
الإعدادات: غير متوفّرة
مطلوب من: readTitle
توقيع طلب البحث: queryPermission('read_title')
ملاحظات: يتحكّم هذا الخيار في ما إذا كان يمكن لنموذج مخصَّص قراءة document.title
.
مثال على الرمز
const queryPermission = require('queryPermission');
const readTitle = require('readTitle');
if (queryPermission('read_title')) {
const title = readTitle();
}
send_pixel
اسم العرض: يرسل وحدات البكسل
الوصف: لإرسال طلب GET إلى عنوان URL محدّد. لم تتم معالجة الرد.
الإعدادات: قائمة بأنماط عناوين URL المسموح بها
مطلوب من: sendPixel
توقيع طلب البحث: queryPermission('send_pixel', <url>)
ملاحظات: يتحكّم هذا الإعداد في ما إذا كان بإمكان النموذج المخصّص إرسال طلب GET، وإلى المصدر الذي يمكنه إرسال ذلك إليه.
مثال على الرمز
const queryPermission = require('queryPermission');
const sendPixel = require('sendPixel');
const url = 'https://www.example.com?foo=3';
if (queryPermission('send_pixel', url)) {
sendPixel(url);
}
set_cookies
الاسم المعروض: لضبط ملف تعريف ارتباط
الوصف: لإعداد ملف تعريف ارتباط بالاسم والمَعلمات المحدَّدة
الضبط: جدول يضم أسماء ملفات تعريف الارتباط المسموح بها، ويشمل كل منها قيودًا اختيارية على الاسم والنطاق والمسار وسمة secure
وتاريخ انتهاء الصلاحية.
مطلوب من: setCookie
توقيع طلب البحث: queryPermission('set_cookies', <name>, <options>)
ملاحظات: يتحكّم هذا الإعداد في إمكانية كتابة ملف تعريف الارتباط، اعتمادًا على اسم ملف تعريف الارتباط والنطاق والمسار وسمة secure
وتاريخ انتهاء الصلاحية.
مثال على الرمز
const queryPermission = require('queryPermission');
const setCookie = require('setCookie');
const options = {
'domain': 'www.example.com',
'path': '/',
'max-age': 60*60*24*365,
'secure': true
};
if (queryPermission('set_cookies', 'info', options)) {
setCookie('info', 'xyz', options);
}
write_data_layer
اسم العرض: يكتب طبقة البيانات
الوصف: تكتب البيانات في طبقة dataLayer.
الضبط: مجموعة من تعبيرات المطابقة الرئيسية، حيث يمكن أن تكون مطابقة المفتاح سلسلة رئيسية من المراجع المنقَّطة، مع حرف بدل لاحق. تتحكم تعبيرات المطابقة الرئيسية في الخصائص التي قد تكتب في طبقة البيانات.
مطلوب من: gtagSet
توقيع طلب البحث: queryPermission('write_data_layer', <data layer key to
write from>)
ملاحظات: تتحكَّم هذه السياسة في ما إذا كان النموذج المخصّص يمكنه الكتابة في طبقة البيانات.
مثال على الرمز
const queryPermission = require('queryPermission');
const gtagSet = require('gtagSet');
const dlKey = 'foo.bar';
if (queryPermission('write_data_layer', dlKey)) {
gtagSet({dlKey: 'baz'});
}