أذونات النماذج المخصَّصة

يوضّح هذا المستند أذونات النماذج المخصَّصة على الويب.


يتميّز كل إذن بما يلي:

  • يتم التحقق من ذلك بواسطة واجهات برمجة التطبيقات التي تتطلب ذلك.
  • تم اكتشافه تلقائيًا في JavaScript في وضع الحماية، استنادًا إلى واجهات برمجة التطبيقات المستخدمة. ويحدث ذلك عند إجراء التعديلات في محرر النماذج المخصصة (للحصول على وملاحظات، وعندما يتم تجميع التعليمات البرمجية (للتحقق من صحة فرض الأذونات).
  • قابل للتعديل في محرِّر النماذج المخصّصة لجعل الإذن أكثر تحديدًا.
  • يمكن طلب البحث في JavaScript مع وضع الحماية عبر واجهة برمجة تطبيقات queryPermission.

access_globals

الاسم المعروض: للوصول إلى المتغيّرات العمومية

Description: يسمح بالوصول إلى متغير عمومي (من المحتمل أن يتضمن واجهات برمجة التطبيقات الحساسة).

الإعدادات: قائمة بالمفاتيح التي يمكن الوصول إليها كل مفتاح عبارة عن نقطة مسار منفصل. على سبيل المثال: 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".

الإعدادات: خيار لتفعيل تسجيل الدخول في مرحلة الإنتاج. القيم التلقائية على فقط تفعيل تسجيل الدخول debug/preview. في حال رفض الإذن، سينفّذ 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'});
}