يوضّح هذا المستند أذونات النماذج المخصّصة على الويب.
يكون كل إذن على النحو التالي:
- يتم التحقّق من ذلك من خلال واجهات برمجة التطبيقات التي تتطلّبها.
- يتم رصدها تلقائيًا في 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. لا يمكن قراءة جزء معيّن من عنوان 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
الاسم المعروض: يتيح هذا الإذن قراءة طبقة البيانات.
الوصف: يتيح هذا الإذن قراءة البيانات من طبقة البيانات.
الإعداد: مجموعة من عبارات مطابقة المفاتيح، حيث يمكن أن تكون مطابقة المفاتيح سلسلة بادئة من المراجع المنقّطة، مع حرف بدل لاحق. تتحكّم تعبيرات مطابقة المفاتيح في الخصائص التي يمكن قراءتها من طبقة البيانات.
مطلوب من قِبل: 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_analytics_storage
الاسم المعروض: لقراءة البيانات المحفوظة في مساحة تخزين "إحصاءات Google"
الوصف: يتيح ذلك للنماذج قراءة بيانات الإحصاءات المخزّنة، مثل أرقام تعريف العملاء.
الإعدادات: ما مِن إعدادات
مطلوب من قِبل: readAnalyticsStorage
توقيع طلب البحث: queryPermission('read_analytics_storage')
ملاحظات: تحدّد ما إذا كان بإمكان نموذج مخصّص قراءة البيانات من مساحة تخزين الإحصاءات.
مثال على الرمز
const queryPermission = require('queryPermission');
const readAnalyticsStorage = require('readAnalyticsStorage');
if (queryPermission('read_analytics_storage')) {
const value = readAnalyticsStorage();
}
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
الاسم المعروض: يتيح هذا الإذن كتابة البيانات في طبقة البيانات
الوصف: يتيح هذا الإذن كتابة البيانات في طبقة البيانات.
الإعداد: مجموعة من عبارات مطابقة المفاتيح، حيث يمكن أن تكون مطابقة المفاتيح سلسلة بادئة من المراجع المنقّطة، مع حرف بدل لاحق. تتحكّم تعبيرات مطابقة المفاتيح في المواقع التي يمكنها الكتابة إلى طبقة البيانات.
مطلوب من قِبل: 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'});
}