مشکلات رایج با توکن های آزمایشی در متا تگ ها، هدرها و اسکریپت ها را برطرف کنید.
این راهنما دانش کار در مورد آزمایشهای اولیه در Chrome را فرض میکند. برای سؤالات متداول دقیق، به راهنمای آزمایشی Origin برای توسعه دهندگان وب مراجعه کنید.
اگر با مشکلی در آزمایشهای اولیه در Chrome مواجه شدید، یک مشکل جدید را در مخزن GitHub آزمایشی اصلی Chrome ارسال کنید .
چک لیست
برای عیبیابی یک آزمایش اولیه، با استفاده از پیوندهای ارائه شده، هر یک از مشکلات را حل کنید.
از Chrome DevTools برای بررسی نشانه ها استفاده کنید
DevTools اطلاعات آزمایشی مبدا را در پانل برنامه ، برای فریم انتخاب شده ارائه می دهد.
قاب بالایی را باز کنید تا نشانههای آزمایشی اولیه موجود برای یک زیرفریم را بررسی کنید. به عنوان مثال، برای صفحه نمایشی در ot-iframe.glitch.me ، می توانید ببینید که صفحه در iframe یک نشانه ارائه می کند.
- وضعیت توکن : آیا صفحه دارای رمز معتبر است یا خیر. توجه داشته باشید که برای برخی از آزمایشهای مبدأ ممکن است عوامل دیگری مانند محدودیتهای جغرافیایی وجود داشته باشد که به این معنی است که ویژگی آزمایشی مبدا علیرغم وجود یک رمز معتبر در دسترس نیست. کدهای وضعیت Chrome DevTools معنای هر یک از کدهای آزمایشی مبدا را توضیح می دهد.
- مبدا : مبدا وب برای توکن ثبت شده است.
- زمان انقضا : حداکثر (آخرین) تاریخ انقضا و زمان ممکن برای توکن، که (در بیشتر موارد) با پایان دوره آزمایشی مطابقت دارد. این تاریخ مشابه تاریخ Valid Until برای نشانه نمایش داده شده در My Registrations نیست، که نشان میدهد این رمز برای چه مدت اعتبار دارد و میتوان آن را تمدید کرد .
- محدودیت استفاده : محدودیتهای استفاده، که میتواند برای برخی آزمایشها تنظیم شود .
- شخص ثالث : آیا مطابقت شخص ثالث برای توکن فعال است یا خیر. این برای برخی از آزمایشهای اصلی در دسترس است، جایی که یک ویژگی آزمایشی باید در چندین سایت از اسکریپتهای شخص ثالث قابل دسترسی باشد.
- Match Sub-Domains : آیا تطابق زیر دامنه برای نشانه فعال است یا خیر. این امکان را فراهم می کند که یک ویژگی آزمایشی مبدا بر روی چندین زیر دامنه از یک مبدا آزمایش شود، بدون نیاز به یک نشانه متفاوت برای هر زیر دامنه.
Chrome DevTools هشداری را در کنار نام آزمایشی نشان میدهد اگر آزمایشی برای کاربر فعلی در دسترس نباشد، نشانه منقضی شده باشد یا محدودیتهای دیگری وجود داشته باشد.
کدهای وضعیت
ممکن است در Chrome DevTools با کدهای وضعیت زیر مواجه شوید.
منقضی شده : تاریخ انقضای توکن گذشته است. برای فعال کردن مجدد آزمایش مبدا، رمز باید تمدید شود. یک توکن جدید با تاریخ انقضا جدید تولید کنید. کد منبع
ویژگی غیرفعال شده : آزمایشی برای استفاده غیرفعال است. کد منبع
FeatureDisabledForUser : این نشانه برای کاربر فعلی با محدودیت استفاده جایگزین غیرفعال شده است. بخش «مستثنیات زیرمجموعه کاربر» سند طراحی را ببینید. کد منبع 1 و کد منبع 2
ناامن : مبدا درخواست ناامن است و آزمایشی برای مبداهای ناامن فعال نیست. همانطور که در کد اعتبارسنجی رمز اولیه آزمایشی توضیح داده شده است: «برای توکنهای شخص ثالث، هم مبدا فعلی و هم مبدا اسکریپت باید امن باشند. به دلیل تطابق زیر دامنه، ممکن است مبدأ نشانه دقیقاً با یکی از مبداهای اسکریپت ارائه شده مطابقت نداشته باشد، و نتیجه نشان نمی دهد که کدام مبدأ خاص مطابقت داشته است. این بدان معنی است که جستجوی مستقیم برای یافتن منشاء اسکریپت مناسب نیست. برای جلوگیری از انجام مجدد همه مقایسههای مبدا، میانبرهایی وجود دارد که به تعداد مبداهای اسکریپت ارائه شده بستگی دارد. باید حداقل یک مورد وجود داشته باشد، در غیر این صورت رمز شخص ثالث با موفقیت تأیید نمی شود. کد منبع
InvalidSignature : نشانه دارای امضای نامعتبر یا نادرست است. کد منبع
بدشکل : توکن بد شکل است و قابل تجزیه نیست. کد منبع
NotSupported : نسخه آزمایشی مبدأ تعریف شده توسط رمز در جاسازی Chromium پشتیبانی نمیشود. یک embedder می تواند یک مرورگر (مانند کروم یا Edge)، یک WebView یا یک عامل کاربر دیگر باشد. کد منبع
موفقیت : توکن به خوبی شکل گرفته است، منقضی نشده است، با ویژگی آزمایشی مبدا مطابقت دارد و از یک منبع مورد انتظار درخواست شده است. کد منبع
TokenDisabled : توکن به عنوان غیرفعال علامت گذاری شده است و قابل استفاده نیست. کد منبع
TrialNotAllowed : نسخه آزمایشی اصلی برای کاربر فعلی در دسترس نیست . کد منبع
UnknownTrial : رمز نام ویژگی را مشخص می کند که با هیچ آزمایشی شناخته شده مطابقت ندارد. کد منبع
WrongOrigin : مبدا درخواست با مبدا مشخص شده در توکن مطابقت ندارد. این می تواند شامل طرح، نام میزبان یا پورت باشد. این وضعیت همچنین در صورتی نمایش داده میشود که یک توکن شخص ثالث در هدر HTTP، متا تگ یا اسکریپت درون خطی ارائه شده باشد، نه از یک فایل جاوا اسکریپت خارجی. کد منبع
WrongVersion : شما از نسخه رمز اشتباهی استفاده می کنید. فقط توکن نسخه 2 و 3 پشتیبانی می شود. کد منبع
شرایط لازم برای آزمایشات منشا
اگر آزمایش اولیه شما مطابق انتظار کار نمی کند، مطمئن شوید که شرایط زیر را برآورده کرده اید.
شما در حال آزمایش در Chrome هستید، نه Chromium یا مرورگر دیگری
آزمایشهای اولیه Chrome به گونهای طراحی شدهاند که برای کاربران Chrome کار کنند. نشانههای آزمایشی اصلی Chrome ویژگیهای دیگر مرورگرها، از جمله مرورگرهای Chromium و Chromium را فعال نمیکنند. دلیلش این است که آزمایشهای اولیه Chrome مختص ویژگیهایی است که در Chrome برای آزمایش در دسترس هستند.
نسخه آزمایشی اصلی برای فایرفاکس و مایکروسافت اج نیز در دسترس است. ثبت نام در نسخه آزمایشی اصلی فایرفاکس یا Edge یک ویژگی را در Chrome فعال نمی کند.
نسخه آزمایشی اصلی برای نسخههای Chrome که به سایت شما دسترسی دارند فعال است
دسترسی به نسخههای آزمایشی اصلی محدود به نسخههای خاصی از Chrome است. این ممکن است به این معنی باشد که یک ویژگی آزمایشی فقط برای کانالهای Chrome از قبل پایدار در دسترس است: Canary، Dev و Beta.
می توانید در دسترس بودن نسخه را از صفحه ثبت نام برای آزمایشی بررسی کنید:
میتوانید نسخه Chrome مورد استفاده خود را از chrome://version بررسی کنید.
نسخه آزمایشی اصلی توسط تنظیمات Chrome غیرفعال نشده است
اگر یک کاربر گزارش داد که یک ویژگی برای او کار نمی کند، بررسی کنید که این ویژگی در تنظیمات Chrome او غیرفعال نباشد. برای مثال، برخی از ویژگیهای Privacy Sandbox را میتوان از صفحه chrome://settings/adPrivacy
غیرفعال کرد.
کلمات کلیدی و نحو صحیح هستند
مطمئن شوید که از کلمات کلیدی و نحو مناسب برای نشانه های آزمایشی مبدا استفاده می کنید.
برای استفاده شخص اول، یک توکن را می توان در یک متا تگ origin-trial
ارائه کرد:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
از طرف دیگر، یک توکن میتواند در سرآیند پاسخ Origin-Trial
ارائه شود. در اینجا یک مثال با استفاده از Express در Node.js آورده شده است:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
توکن ها همچنین می توانند با جاوا اسکریپت ارائه شوند:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
مبدا نشانه شخص اول با مبدا صفحه مطابقت دارد
مطمئن شوید که مقدار Web Origin انتخاب شده هنگام ثبت نام برای آزمایشی با مبدا صفحه ای که دارای متا تگ یا هدر است که توکن را ارائه می دهد مطابقت دارد.
برای مثال، اگر https://example.com
به عنوان منبع وب انتخاب کرده باشید:
ممکن است یک مقدار رمزی مانند این دریافت کنید:
بررسی کنید که این مقدار با رمز استفاده شده در صفحه ای که در حال عیب یابی آن هستید مطابقت داشته باشد.
برای توکن ارائه شده در یک متا تگ، HTML را بررسی کنید:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
برای یک نشانه ارائه شده در سرصفحه، میتوانید مقدار توکن را از پانل Chrome DevTools Network تحت عنوان Response Headers بررسی کنید:
توکن شخص اول از مبدایی که از آن استفاده می کند ارائه می شود
برای فعال کردن دسترسی به یک ویژگی آزمایشی مبدا برای کد موجود در صفحه ای که از مبدا شما ارائه می شود، یک نشانه آزمایشی در یک متا تگ، هدر یا با جاوا اسکریپت از همان مبدا ارائه دهید.
مبدا ثبت شده برای یک توکن باید با مبدایی که به آن سرویس می دهد مطابقت داشته باشد.
مبدا نشانه شخص ثالث با منشا اسکریپت مطابقت دارد
میتوانید برای شرکت در یک آزمایش اولیه برای اسکریپتهایی که از منابع دیگر تزریق میشوند، ثبتنام کنید.
به عنوان مثال، اگر میخواهید اسکریپتهایی که از javascript-library.example
ارائه میشوند برای شرکت در یک آزمایش اولیه، استفاده کنید، باید یک نشانه با تطبیق شخص ثالث برای javascript-library.example
ثبت کنید.
مقدار مبدا برای یک توکن شخص ثالث باید با مبدا اسکریپتی که آن را تزریق می کند مطابقت داشته باشد.
اسکریپت شخص ثالث از توکن شخص ثالث استفاده می کند
شما نمی توانید یک اسکریپت شخص ثالث را برای شرکت در یک آزمایش اولیه در سایت خود تنها با ثبت یک رمز برای مبدا خود و فراموش کردن اسکریپت فعال کنید.
اسکریپتهای شخص ثالث باید از نشانههایی استفاده کنند که تطبیق شخص ثالث فعال باشد و با خود اسکریپت تزریق شود. این توکن ها را نمی توان در یک متا تگ یا هدر در سایت شما قرار داد. جاوا اسکریپت ممکن است به شکل زیر باشد:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
توکن شخص ثالث با یک اسکریپت خارجی ارائه می شود، نه متا تگ، هدر HTTP یا اسکریپت درون خطی
توکنهای شخص ثالث در مقابل مبدأ اسکریپتی که آنها را تزریق کرده است تأیید میشوند. با این حال، اسکریپت های درون خطی و تگ های <meta>
در نشانه گذاری ایستا منشا ندارند.
این بدان معناست که یک توکن شخص ثالث باید با یک اسکریپت خارجی ارائه شود، نه در تگ <meta>
یا اسکریپت درون خطی. فرقی نمیکند که اسکریپت خارجی که توکن را تزریق میکند، از همان مبدأ با صفحه حاوی آن باشد یا منشأ متفاوتی داشته باشد، تا زمانی که مبدا اسکریپت با مبدا ثبتشده برای آزمایش مطابقت داشته باشد.
نسخه ی نمایشی این را در ot-iframe-3p.glitch.me ببینید.
دسترسی به ویژگی آزمایشی مبدأ برای روش مورد استفاده برای ارائه یک نشانه آزمایشی پشتیبانی میشود
برخی از انواع دسترسی به ویژگیهای آزمایشی مبدأ از شما میخواهند که یک نشانه آزمایشی را به روشی خاص ارائه دهید. به عنوان مثال، تنها راه برای فعال کردن دسترسی آزمایشی مبدا برای کارگران خدماتی و کارگران مشترک ، ارائه یک توکن در سرآیند Origin-Trial
است.
تطبیق زیر دامنه برای یک نشانه استفاده شده در یک زیر دامنه فعال است
اگر به نظر می رسد یک ویژگی آزمایشی اصلی برای برخی از صفحات سایت شما کار نمی کند، بررسی کنید که نشانه ها به درستی برای زیر دامنه هایی که به آنها سرویس می دهند تنظیم شده باشند.
هنگامی که برای یک آزمایش اولیه ثبت نام می کنید، می توانید به صورت اختیاری انتخاب کنید که با همه زیر دامنه های مبدا مطابقت داشته باشید:
همچنین می توانید زیر دامنه ها را برای توکن های شخص ثالث مطابقت دهید:
نشانههای زیردامنه برای مبدا در فهرست پسوند عمومی صادر نمیشوند . به عنوان مثال، نمیتوانید مبدایی مانند https://appspot.com
یا https://github.io
را ثبت کنید، اگرچه میتوانید برای دامنههایی در آن مبدا ثبت نام کنید، مانند https://example.appspot.com
یا https://example.github.io
.
رمز هنوز معتبر است
توکن ها تا شش هفته پس از ایجاد اعتبار دارند. فراتر از آن، باید بازخورد خود را ارسال کنید تا تاریخ اعتبار تا تمدید شود. Origin Trials Guide for Web Developers توضیح می دهد که چگونه می توان مطمئن شد که رمز شما برای کل آزمایش اولیه معتبر است.
میتوانید در صفحه ثبتهای من آزمایشهای اولیه Chrome خود، نشانههای فعال را بررسی کنید:
اگر نشانه هنوز معتبر باشد، Chrome DevTools وضعیت Success
را نمایش می دهد:
اگر توکن شما منقضی شده است، DevTools وضعیت Expired
را نشان می دهد و صفحه ثبت نام من بخش Expired Tokens را نمایش می دهد.
آزمایش مبدا ادامه دارد
می توانید تاریخ پایان آزمایش مبدأ را از صفحه ثبت آن بررسی کنید:
برای آزمایشهایی که به پایان رسیدهاند، DevTools چیزی شبیه به این را نشان میدهد:
زمانی که بازخورد مورد نیاز است یا یک توکن در شرف منقضی شدن است، ایمیل های خودکار برای شما ارسال می شود، اما نه زمانی که دوره آزمایشی به پایان می رسد.
نسخه آزمایشی اصلی برای کاربر فعلی در دسترس است
برخی از آزمایشهای اولیه برای کاربران خاصی در دسترس نیستند، حتی اگر یک رمز معتبر ارائه شده باشد.
اگر نسخه آزمایشی برای کاربر فعلی در دسترس نباشد، Chrome DevTools یک هشدار TrialNotAllowed
نمایش میدهد:
اطلاعات مربوط به محدودیتهای استفاده و در دسترس بودن برای هر آزمایش اولیه ارائه شده است.
مانند هر ویژگی پلتفرم وب، باید از تشخیص ویژگی برای تأیید اینکه یک ویژگی آزمایشی اصلی قبل از استفاده از آن پشتیبانی میشود، استفاده کنید.
از محدودیتهای استفاده آزمایشی اصلی فراتر نرفته است
بهطور پیشفرض، یک ویژگی آزمایشی مبدأ در هر صفحهای که یک نشانه معتبر برای آزمایش دارد، فعال میشود.
به جز در موارد نادر، استفاده آزمایشی مبدأ به حداکثر 0.5٪ از بارگیریهای صفحه Chrome محدود میشود. اگر کل استفاده همه کاربران Chrome از این مقدار بیشتر باشد، ویژگی آزمایشی اصلی غیرفعال می شود. DevTools وضعیت توکن را غیرفعال نشان می دهد.
هیچ محدودیتی برای استفاده از آزمایشهای منسوخ وجود ندارد، زیرا ویژگیهای جدیدی را معرفی نمیکنند و بنابراین خطری برای وابسته کردن بخش قابل توجهی از وب به یک ویژگی آزمایشی ایجاد نمیکنند.
برخی آزمایشها گزینهای را برای محدود کردن استفاده ارائه میکنند، به این معنی که ویژگیهای آزمایشی اصلی برای برخی از کاربران غیرفعال است. این گزینه از صفحه ثبت نام برای آزمایش اولیه در دسترس است که آن را ارائه می دهد:
اگر متوجه شدید که دسترسی کاربران شما به یک ویژگی آزمایشی اصلی کمتر از حد انتظار است، مطمئن شوید که حد استاندارد انتخاب شده است.
آی فریم ها توکن های خود را ارائه می دهند
برای اجازه دسترسی به یک ویژگی آزمایشی مبدا، یک iframe باید یک توکن در یک متا تگ، یک سربرگ HTTP یا به صورت برنامهریزی ارائه کند. آیفریمها دسترسی به ویژگیهایی را که برای صفحاتی که حاوی آنها هستند، به ارث نمیبرند.
ot-iframe.glitch.me دسترسی به یک ویژگی آزمایشی مبدا را از یک iframe نشان می دهد. ot-iframe-3p.glitch.me چندین نمونه iframe با منبع متقاطع ارائه می دهد.
خطمشیهای مجوزها به درستی پیکربندی شدهاند
برخی از ویژگیهای آزمایشی اصلی ممکن است تحت تأثیر یک Permissions-Policy
قرار بگیرند. میتوانید این مورد را در Intent to Experiment برای ویژگی آزمایشی یا در اسناد برنامهنویس برای ویژگی در developer.chrome.com/docs بررسی کنید.
اطمینان حاصل کنید که ویژگیای که میخواهید به آن دسترسی داشته باشید توسط دستورالعملهای Permissions-Policy
مسدود نشده باشد. میتوانید سرصفحههای پاسخ را در پانل Chrome DevTools Network بررسی کنید و فهرست کامل ویژگیهای مجاز را در پانل برنامه مشاهده کنید.
کارگران چطور؟
ویژگیهای آزمایشی مبدا را میتوان برای کارگران خدماتی، کارگران مشترک و کارگران اختصاصی در دسترس قرار داد. برای فعال کردن دسترسی برای کارگران خدماتی و کارگران مشترک، باید یک توکن در سربرگ Origin-Trial
ارائه دهید.
کارگران اختصاصی دسترسی به ویژگی های فعال شده توسط سند مادر را به ارث می برند.
رمز قبل از دسترسی به ویژگی ارائه می شود
قبل از دسترسی به ویژگی آزمایشی مطمئن شوید که یک نشانه آزمایشی مبدا ارائه شده است. به عنوان مثال، اگر صفحه ای یک نشانه با جاوا اسکریپت ارائه می کند، مطمئن شوید که کد ارائه شده قبل از کدی که سعی می کند به ویژگی آزمایشی دسترسی پیدا کند اجرا شود.
دموهای آزمایشی مبدا
سایت های زیر نمونه هایی از استقرار توکن را نشان می دهند.
نحوه ارائه توکن آزمایشی مبدا
- توکن در یک متا تگ
- نشانه در هدر
- توکن تزریق شده توسط اسکریپت شخص ثالث
- ویژگی قابل دسترسی در iframe
- نمونه های iframe متقاطع
ابزارهای آزمایشی مبدا
ویژگی ها در آزمایش اولیه
موارد زیر نسخههای نمایشی برای APIها در آزمایشهای مبدا در حال انجام است
بیشتر بدانید
- با آزمایشهای اولیه Chrome شروع کنید
- آزمایشات منشا شخص ثالث
- راهنمای آزمایشی مبدا برای توسعه دهندگان وب
- توضیح دهنده آزمایشی مبدا
- اجرای آزمایشی مبدا
- فرآیند راهاندازی ویژگیهای جدید در Chromium
- قصد توضیح: رمزگشایی از فرآیند ارسال Blink
- از Origin Trials در Microsoft Edge استفاده کنید
- نسخه آزمایشی اصلی برای فایرفاکس
مشکلات رایج با توکن های آزمایشی در متا تگ ها، هدرها و اسکریپت ها را برطرف کنید.
این راهنما دانش کار در مورد آزمایشهای اولیه در Chrome را فرض میکند. برای سؤالات متداول دقیق، به راهنمای آزمایشی Origin برای توسعه دهندگان وب مراجعه کنید.
اگر با مشکلی در آزمایشهای اولیه در Chrome مواجه شدید، یک مشکل جدید را در مخزن GitHub آزمایشی اصلی Chrome ارسال کنید .
چک لیست
برای عیبیابی یک آزمایش اولیه، با استفاده از پیوندهای ارائه شده، هر یک از مشکلات را حل کنید.
از Chrome DevTools برای بررسی نشانه ها استفاده کنید
DevTools اطلاعات آزمایشی مبدا را در پانل برنامه ، برای فریم انتخاب شده ارائه می دهد.
قاب بالایی را باز کنید تا نشانههای آزمایشی اولیه موجود برای یک زیرفریم را بررسی کنید. به عنوان مثال، برای صفحه نمایشی در ot-iframe.glitch.me ، می توانید ببینید که صفحه در iframe یک نشانه ارائه می کند.
- وضعیت توکن : آیا صفحه دارای رمز معتبر است یا خیر. توجه داشته باشید که برای برخی از آزمایشهای مبدأ ممکن است عوامل دیگری مانند محدودیتهای جغرافیایی وجود داشته باشد که به این معنی است که ویژگی آزمایشی مبدا علیرغم وجود یک رمز معتبر در دسترس نیست. کدهای وضعیت Chrome DevTools معنای هر یک از کدهای آزمایشی مبدا را توضیح می دهد.
- مبدا : مبدا وب برای توکن ثبت شده است.
- زمان انقضا : حداکثر (آخرین) تاریخ انقضا و زمان ممکن برای توکن، که (در بیشتر موارد) با پایان دوره آزمایشی مطابقت دارد. این تاریخ مشابه تاریخ Valid Until برای نشانه نمایش داده شده در My Registrations نیست، که نشان میدهد این رمز برای چه مدت اعتبار دارد و میتوان آن را تمدید کرد .
- محدودیت استفاده : محدودیتهای استفاده، که میتواند برای برخی آزمایشها تنظیم شود .
- شخص ثالث : آیا مطابقت شخص ثالث برای توکن فعال است یا خیر. این برای برخی از آزمایشهای اصلی در دسترس است، جایی که یک ویژگی آزمایشی باید در چندین سایت از اسکریپتهای شخص ثالث قابل دسترسی باشد.
- Match Sub-Domains : آیا تطابق زیر دامنه برای نشانه فعال است یا خیر. این امکان را فراهم می کند که یک ویژگی آزمایشی مبدا بر روی چندین زیر دامنه از یک مبدا آزمایش شود، بدون نیاز به یک نشانه متفاوت برای هر زیر دامنه.
Chrome DevTools هشداری را در کنار نام آزمایشی نشان میدهد اگر آزمایشی برای کاربر فعلی در دسترس نباشد، نشانه منقضی شده باشد یا محدودیتهای دیگری وجود داشته باشد.
کدهای وضعیت
ممکن است در Chrome DevTools با کدهای وضعیت زیر مواجه شوید.
منقضی شده : تاریخ انقضای توکن گذشته است. برای فعال کردن مجدد آزمایش مبدا، رمز باید تمدید شود. یک توکن جدید با تاریخ انقضا جدید تولید کنید. کد منبع
ویژگی غیرفعال شده : آزمایشی برای استفاده غیرفعال است. کد منبع
FeatureDisabledForUser : این نشانه برای کاربر فعلی با محدودیت استفاده جایگزین غیرفعال شده است. بخش «مستثنیات زیرمجموعه کاربر» سند طراحی را ببینید. کد منبع 1 و کد منبع 2
ناامن : مبدا درخواست ناامن است و آزمایشی برای مبداهای ناامن فعال نیست. همانطور که در کد اعتبارسنجی رمز اولیه آزمایشی توضیح داده شده است: «برای توکنهای شخص ثالث، هم مبدا فعلی و هم مبدا اسکریپت باید امن باشند. به دلیل تطابق زیر دامنه، ممکن است مبدأ نشانه دقیقاً با یکی از مبداهای اسکریپت ارائه شده مطابقت نداشته باشد، و نتیجه نشان نمی دهد که کدام مبدأ خاص مطابقت داشته است. این بدان معنی است که جستجوی مستقیم برای یافتن منشاء اسکریپت مناسب نیست. برای جلوگیری از انجام مجدد همه مقایسههای مبدا، میانبرهایی وجود دارد که به تعداد مبداهای اسکریپت ارائه شده بستگی دارد. باید حداقل یک مورد وجود داشته باشد، در غیر این صورت رمز شخص ثالث با موفقیت تأیید نمی شود. کد منبع
InvalidSignature : نشانه دارای امضای نامعتبر یا نادرست است. کد منبع
بدشکل : توکن بد شکل است و قابل تجزیه نیست. کد منبع
NotSupported : نسخه آزمایشی مبدأ تعریف شده توسط رمز در جاسازی Chromium پشتیبانی نمیشود. یک embedder می تواند یک مرورگر (مانند کروم یا Edge)، یک WebView یا یک عامل کاربر دیگر باشد. کد منبع
موفقیت : توکن به خوبی شکل گرفته است، منقضی نشده است، با ویژگی آزمایشی مبدا مطابقت دارد و از یک منبع مورد انتظار درخواست شده است. کد منبع
TokenDisabled : توکن به عنوان غیرفعال علامت گذاری شده است و قابل استفاده نیست. کد منبع
TrialNotAllowed : نسخه آزمایشی اصلی برای کاربر فعلی در دسترس نیست . کد منبع
UnknownTrial : رمز نام ویژگی را مشخص می کند که با هیچ آزمایشی شناخته شده مطابقت ندارد. کد منبع
WrongOrigin : مبدا درخواست با مبدا مشخص شده در توکن مطابقت ندارد. این می تواند شامل طرح، نام میزبان یا پورت باشد. این وضعیت همچنین در صورتی نمایش داده میشود که یک توکن شخص ثالث در هدر HTTP، متا تگ یا اسکریپت درون خطی ارائه شده باشد، نه از یک فایل جاوا اسکریپت خارجی. کد منبع
WrongVersion : شما از نسخه رمز اشتباهی استفاده می کنید. فقط توکن نسخه 2 و 3 پشتیبانی می شود. کد منبع
شرایط لازم برای آزمایشات منشا
اگر آزمایش اولیه شما مطابق انتظار کار نمی کند، مطمئن شوید که شرایط زیر را برآورده کرده اید.
شما در حال آزمایش در Chrome هستید، نه Chromium یا مرورگر دیگری
آزمایشهای اولیه Chrome به گونهای طراحی شدهاند که برای کاربران Chrome کار کنند. نشانههای آزمایشی اصلی Chrome ویژگیهای دیگر مرورگرها، از جمله مرورگرهای Chromium و Chromium را فعال نمیکنند. دلیلش این است که آزمایشهای اولیه Chrome مختص ویژگیهایی است که در Chrome برای آزمایش در دسترس هستند.
نسخه آزمایشی اصلی برای فایرفاکس و مایکروسافت اج نیز در دسترس است. ثبت نام در نسخه آزمایشی اصلی فایرفاکس یا Edge یک ویژگی را در Chrome فعال نمی کند.
نسخه آزمایشی اصلی برای نسخههای Chrome که به سایت شما دسترسی دارند فعال است
دسترسی به نسخههای آزمایشی اصلی محدود به نسخههای خاصی از Chrome است. این ممکن است به این معنی باشد که یک ویژگی آزمایشی فقط برای کانالهای Chrome از قبل پایدار در دسترس است: Canary، Dev و Beta.
می توانید در دسترس بودن نسخه را از صفحه ثبت نام برای آزمایشی بررسی کنید:
میتوانید نسخه Chrome مورد استفاده خود را از chrome://version بررسی کنید.
نسخه آزمایشی اصلی توسط تنظیمات Chrome غیرفعال نشده است
اگر یک کاربر گزارش داد که یک ویژگی برای او کار نمی کند، بررسی کنید که این ویژگی در تنظیمات Chrome او غیرفعال نباشد. برای مثال، برخی از ویژگیهای Privacy Sandbox را میتوان از صفحه chrome://settings/adPrivacy
غیرفعال کرد.
کلمات کلیدی و نحو صحیح هستند
مطمئن شوید که از کلمات کلیدی و نحو مناسب برای نشانه های آزمایشی مبدا استفاده می کنید.
برای استفاده شخص اول، یک توکن را می توان در یک متا تگ origin-trial
ارائه کرد:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
از طرف دیگر، یک توکن میتواند در سرآیند پاسخ Origin-Trial
ارائه شود. در اینجا یک مثال با استفاده از Express در Node.js آورده شده است:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
توکن ها همچنین می توانند با جاوا اسکریپت ارائه شوند:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
مبدا نشانه شخص اول با مبدا صفحه مطابقت دارد
مطمئن شوید که مقدار Web Origin انتخاب شده هنگام ثبت نام برای آزمایشی با مبدا صفحه ای که دارای متا تگ یا هدر است که توکن را ارائه می دهد مطابقت دارد.
برای مثال، اگر https://example.com
به عنوان منبع وب انتخاب کرده باشید:
ممکن است یک مقدار رمزی مانند این دریافت کنید:
بررسی کنید که این مقدار با رمز استفاده شده در صفحه ای که در حال عیب یابی آن هستید مطابقت داشته باشد.
برای توکن ارائه شده در یک متا تگ، HTML را بررسی کنید:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
برای یک نشانه ارائه شده در سرصفحه، میتوانید مقدار توکن را از پانل Chrome DevTools Network تحت عنوان Response Headers بررسی کنید:
توکن شخص اول از مبدایی که از آن استفاده می کند ارائه می شود
برای فعال کردن دسترسی به یک ویژگی آزمایشی مبدا برای کد موجود در صفحه ای که از مبدا شما ارائه می شود، یک نشانه آزمایشی در یک متا تگ، هدر یا با جاوا اسکریپت از همان مبدا ارائه دهید.
مبدا ثبت شده برای یک توکن باید با مبدایی که به آن سرویس می دهد مطابقت داشته باشد.
مبدا نشانه شخص ثالث با منشا اسکریپت مطابقت دارد
میتوانید برای شرکت در یک آزمایش اولیه برای اسکریپتهایی که از منابع دیگر تزریق میشوند، ثبتنام کنید.
به عنوان مثال، اگر میخواهید اسکریپتهایی که از javascript-library.example
ارائه میشوند برای شرکت در یک آزمایش اولیه، استفاده کنید، باید یک نشانه با تطبیق شخص ثالث برای javascript-library.example
ثبت کنید.
مقدار مبدا برای یک توکن شخص ثالث باید با مبدا اسکریپتی که آن را تزریق می کند مطابقت داشته باشد.
اسکریپت شخص ثالث از توکن شخص ثالث استفاده می کند
شما نمی توانید یک اسکریپت شخص ثالث را برای شرکت در یک آزمایش اولیه در سایت خود تنها با ثبت یک رمز برای مبدا خود و فراموش کردن اسکریپت فعال کنید.
اسکریپتهای شخص ثالث باید از نشانههایی استفاده کنند که تطبیق شخص ثالث فعال باشد و با خود اسکریپت تزریق شود. این توکن ها را نمی توان در یک متا تگ یا هدر در سایت شما قرار داد. جاوا اسکریپت ممکن است به شکل زیر باشد:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
توکن شخص ثالث با یک اسکریپت خارجی ارائه می شود، نه متا تگ، هدر HTTP یا اسکریپت درون خطی
توکنهای شخص ثالث در مقابل مبدأ اسکریپتی که آنها را تزریق کرده است تأیید میشوند. با این حال، اسکریپت های درون خطی و تگ های <meta>
در نشانه گذاری ایستا منشا ندارند.
این بدان معناست که یک توکن شخص ثالث باید با یک اسکریپت خارجی ارائه شود، نه در تگ <meta>
یا اسکریپت درون خطی. فرقی نمیکند که اسکریپت خارجی که توکن را تزریق میکند، از همان مبدأ با صفحه حاوی آن باشد یا منشأ متفاوتی داشته باشد، تا زمانی که مبدا اسکریپت با مبدا ثبتشده برای آزمایش مطابقت داشته باشد.
نسخه ی نمایشی این را در ot-iframe-3p.glitch.me ببینید.
Origin Trial Featue Access برای روشی که برای ارائه یک نشانه آزمایشی استفاده می شود پشتیبانی می شود
برخی از انواع دسترسی به ویژگی های آزمایشی مبدا شما را ملزم می کند که به روشی خاص یک نشانه آزمایشی ارائه دهید. به عنوان مثال ، تنها راه برای فعال کردن دسترسی به Trial Origin برای کارگران خدمات و کارگران مشترک ، ارائه یک نشانه در یک هدر Origin-Trial
است.
تطبیق زیر دامنه برای یک نشانه مورد استفاده در زیر دامنه فعال می شود
اگر به نظر نمی رسد که یک ویژگی Trial Origin برای برخی از صفحات در سایت شما کار کند ، بررسی کنید که نشانه ها به درستی برای زیر دامنه های خدمت به آنها تنظیم شده اند.
هنگامی که برای یک آزمایش Origin ثبت نام می کنید ، می توانید به صورت اختیاری تصمیم بگیرید که با تمام زیر دامنه های مبدا مطابقت داشته باشد:
همچنین می توانید زیر دامنه های مربوط به نشانه های شخص ثالث را مطابقت دهید:
نشانه های زیر دامنه برای منشاء در لیست پسوند عمومی صادر نمی شود . به عنوان مثال ، شما نمی توانید منشاء مانند https://appspot.com
یا https://github.io
را ثبت کنید ، اگرچه می توانید برای دامنه های موجود در آن مبدا ، مانند https://example.appspot.com
یا https://example.github.io
ثبت نام کنید.
نشانه هنوز معتبر است
توکن ها به مدت شش هفته پس از ایجاد آنها معتبر هستند. فراتر از آن ، برای گسترش معتبر تا تاریخ ، باید بازخورد ارسال کنید. راهنمای آزمایشات اصلی برای توسعه دهندگان وب توضیح می دهد که چگونه می توان اطمینان حاصل کرد که نشانه شما برای یک آزمایش کل مبدا معتبر است.
می توانید نشانه های فعال را در آزمایشات منشاء Chrome خود بررسی کنید صفحه ثبت نام من :
Chrome Devtools Success
وضعیت را در صورتی که هنوز معتبر است ، نشان می دهد:
اگر نشانه شما منقضی شده است ، DevTools وضعیت Expired
نشان می دهد و صفحه ثبت نام من یک بخش توکن های منقضی شده را نشان می دهد.
محاکمه مبدا ادامه دارد
می توانید تاریخ پایان یک دادگاه مبدأ را از صفحه ثبت نام آن بررسی کنید:
برای آزمایشاتی که به پایان رسیده است ، DevTools چیزی شبیه به این را نمایش می دهد:
وقتی بازخورد مورد نیاز است یا یک نشانه در حال انقضا است ، ایمیل های خودکار ارسال می شود ، اما نه وقتی که آزمایش پایان یابد.
آزمایش Origin برای کاربر فعلی در دسترس است
برخی از آزمایشات مبدا برای برخی از کاربران در دسترس نیست ، حتی اگر یک نشانه معتبر ارائه شود.
اگر آزمایشی برای کاربر فعلی در دسترس نباشد ، Chrome Devtools یک هشدار TrialNotAllowed
نشان می دهد:
اطلاعات مربوط به محدودیت های استفاده و در دسترس بودن برای هر آزمایش مبدا ارائه شده است.
مانند هر ویژگی پلت فرم وب ، باید از تشخیص ویژگی استفاده کنید تا تأیید کنید که ویژگی آزمایشی Origin قبل از استفاده از آن پشتیبانی می شود.
محدودیت های استفاده از محاکمه مبدأ فراتر رفته است
به طور پیش فرض ، یک ویژگی آزمایشی Origin در هر صفحه ای فعال می شود که دارای یک نشانه معتبر برای محاکمه است.
به جز در موارد نادر ، استفاده از محاکمه مبدا به حداکثر 0.5 ٪ از کل بارهای صفحه کروم محدود می شود. ویژگی Trial Origin در صورتی که کل کاربران Chrome بیش از این مقدار باشد ، غیرفعال است. DevTools وضعیت توکن را به عنوان غیرفعال نشان می دهد.
هیچ محدودیتی برای کارآزمایی های استهلاک وجود ندارد ، زیرا آنها ویژگی های جدیدی را معرفی نمی کنند ، بنابراین خطر ایجاد بخش قابل توجهی از وب وابسته به یک ویژگی آزمایشی را ایجاد نمی کنند.
برخی از آزمایشات گزینه ای برای محدود کردن استفاده دارند ، به این معنی که ویژگی های آزمایشی مبدا برای برخی از کاربران غیرفعال است. این گزینه از صفحه ثبت نام برای محاکمه مبدأ در دسترس است که آن را ارائه می دهد:
اگر متوجه شدید که دسترسی کاربران به یک ویژگی آزمایشی Origin پایین تر از حد انتظار است ، اطمینان حاصل کنید که حد استاندارد انتخاب شده است.
Iframes نشانه های خاص خود را ارائه می دهد
برای دسترسی به یک ویژگی آزمایشی مبدأ ، یک IFRAME باید یک نشانه را در یک برچسب متا ، یک هدر HTTP یا برنامه ای فراهم کند. Iframes دسترسی به ویژگی های فعال شده برای صفحات حاوی آنها را به ارث نمی برد.
OT-iframe.glitch.me دسترسی به یک ویژگی آزمایشی مبدا را از یک IFRAME نشان می دهد. OT-IFRAME-3P.GLITCH.ME چندین نمونه Iframe متقاطع را ارائه می دهد.
خط مشی های مجوز به درستی پیکربندی شده است
برخی از ویژگی های آزمایشی مبدا ممکن است تحت تأثیر یک Permissions-Policy
قرار بگیرد. شما می توانید این کار را در هدف آزمایش ویژگی آزمایشی یا در اسناد توسعه دهنده برای ویژگی در Developer.chrome.com/docs بررسی کنید.
اطمینان حاصل کنید که ویژگی مورد نظر برای دسترسی به آن توسط یک دستورالعمل Permissions-Policy
مسدود نشده است. می توانید هدر پاسخ را در صفحه شبکه Chrome DevTools بررسی کنید و لیست کامل ویژگی های مجاز در پانل برنامه را مشاهده کنید.
کارگران چطور؟
ویژگی های آزمایشات اصلی را می توان در دسترس کارگران خدمات ، کارگران مشترک و کارگران اختصاصی قرار داد. برای فعال کردن دسترسی به کارگران خدماتی و کارگران مشترک ، باید در یک هدر Origin-Trial
ارائه دهید.
کارگران اختصاصی دسترسی به ویژگی های فعال شده توسط سند والدین خود را به ارث می برند.
قبل از دسترسی به ویژگی ، توکن ارائه می شود
اطمینان حاصل کنید که قبل از دسترسی به ویژگی آزمایشی ، یک نشانه آزمایشی مبدأ ارائه شده است. به عنوان مثال ، اگر یک صفحه با JavaScript نشانه ای را ارائه می دهد ، اطمینان حاصل کنید که کد برای تهیه نشانه قبل از کدی که سعی در دسترسی به ویژگی آزمایشی دارد ، اجرا شود.
نسخه های آزمایشی محاکمه
سایت های زیر نمونه هایی از استقرار توکن را نشان می دهد.
چگونه می توان یک نشانه آزمایشی مبدا ارائه داد
- توکن در یک برچسب متا
- نشانه در یک هدر
- نشانه تزریق شده توسط اسکریپت شخص ثالث
- ویژگی قابل دسترسی در iframe
- نمونه های Iframe با منشاء متقابل
ابزارهای آزمایشی مبدا
ویژگی ها در محاکمه مبدا
موارد زیر نسخه ی نمایشی برای API در آزمایشات در حال انجام است
بیشتر بدانید
- با آزمایشات Origin Chrome شروع کنید
- آزمایشات مبدا شخص ثالث
- راهنمای آزمایشات اصلی برای توسعه دهندگان وب
- توضیحات آزمایشی مبدا
- اجرای یک محاکمه مبدا
- فرآیند راه اندازی ویژگی های جدید در کروم
- قصد توضیح: تغییر شکل دادن به روند حمل و نقل چشمک زن
- از آزمایشات Origin در Microsoft Edge استفاده کنید
- آزمایشات مبدا برای Firefox
مشکلات متداول را با نشانه های آزمایشی در برچسب های متا ، هدرها و اسکریپت ها برطرف کنید.
این راهنما دانش کار در مورد آزمایشات مبدا در Chrome را فرض می کند. برای یک سؤالات متفاوتی ، به راهنمای آزمایشات Origin برای توسعه دهندگان وب مراجعه کنید.
اگر با آزمایشات مبدأ در Chrome با اشکال روبرو هستید ، شماره جدیدی را در مورد آزمایشگاه های Crome Origin Github ارسال کنید .
چک لیست
برای عیب یابی یک محاکمه مبدا ، از طریق هر یک از مشکلات با استفاده از پیوندهای ارائه شده کار کنید.
برای بررسی نشانه ها از chrome devtools استفاده کنید
DevTools اطلاعات آزمایشی مبدا را در صفحه برنامه ، برای قاب انتخاب شده ارائه می دهد.
قاب بالایی را برای بازرسی از نشانه های آزمایشی مبدأ موجود برای یک زیر فریم گسترش دهید. به عنوان مثال ، برای صفحه نمایشی در OT-iframe.glitch.me ، می بینید که صفحه موجود در Iframe یک نشانه را فراهم می کند.
- وضعیت توکن : آیا صفحه دارای یک نشانه معتبر است. توجه داشته باشید که برای برخی از آزمایشات مبدا ممکن است عوامل دیگری مانند محدودیت های جغرافیایی وجود داشته باشد ، این بدان معنی است که با وجود وجود یک نشانه معتبر ، ویژگی آزمایش مبدا در دسترس نیست. کدهای وضعیت Chrome DevTools معنی هر یک از کدهای آزمایشات مبدا را توضیح می دهد.
- Origin : Origin Web برای نشانه ثبت شده است.
- زمان انقضا : حداکثر (آخرین) تاریخ و زمان انقضا ممکن برای نشانه ، که (در بیشتر موارد) با پایان محاکمه مطابقت دارد. این به همان اندازه معتبر نیست تا تاریخ برای نشانه های نمایش داده شده در ثبت نام های من ، که نشان می دهد توکن برای چه مدت معتبر است و می تواند تمدید شود .
- محدودیت استفاده : محدودیت های استفاده ، که می تواند برای برخی از محاکمات تعیین شود .
- شخص ثالث : آیا تطبیق شخص ثالث برای نشانه فعال است. این برای برخی از آزمایشات مبدأ موجود است ، جایی که یک ویژگی آزمایشی باید در چندین سایت از اسکریپت های شخص ثالث قابل دسترسی باشد.
- Match Sub-Domains : آیا تطبیق زیر دامنه برای نشانه فعال است. این امکان را فراهم می کند که یک ویژگی آزمایشی مبدأ بر روی چندین زیر دامنه یک مبدا آزمایش شود ، بدون اینکه به یک نشانه متفاوت برای هر زیر دامنه نیاز داشته باشد.
Chrome Devtools در صورت آزمایش ، هشدار را در کنار نام آزمایشی نشان می دهد: برای کاربر فعلی در دسترس نیست ، نشانه منقضی شده است ، یا محدودیت های دیگری نیز وجود دارد.
کدهای وضعیت
ممکن است با کدهای وضعیت زیر در Devtools Chrome روبرو شوید.
منقضی شده : توکن تاریخ انقضا را پشت سر گذاشته است. برای تأیید مجدد محاکمه مبدا ، نشانه باید تمدید شود. با تاریخ انقضا جدید یک نشانه جدید ایجاد کنید. کد منبع
PeatureDisabled : محاکمه برای استفاده غیرفعال است. کد منبع
PeatureDisabledForuser : این نشانه به عنوان غیرفعال برای کاربر فعلی با محدودیت استفاده جایگزین تعیین شده است. به بخش "استثناء زیر مجموعه کاربر" از Design Doc مراجعه کنید. کد منبع 1 و کد منبع 2
ناامن : منشأ درخواست ناامن است و محاکمه برای منشأ ناامن فعال نمی شود. همانطور که در کد اعتبار سنجی توکن Trial Trial توضیح داده شده است: 'برای نشانه های شخص ثالث ، منشأ فعلی و منشأ اسکریپت باید ایمن باشند. با توجه به تطبیق زیر دامنه ، منشأ توکن ممکن است یک مسابقه دقیق برای یکی از منشأ فیلمنامه ارائه شده نباشد ، و نتیجه آن نشان نمی دهد که منشأ خاص با هم مطابقت دارد. این بدان معنی است که برای یافتن منشأ اسکریپت مناسب ، یک جستجوی مستقیم نیست. برای جلوگیری از انجام مجدد همه مقایسه های مبدا ، میانبرهایی وجود دارد که به تعداد منشاء اسکریپت بستگی دارد. حداقل باید یک نفر وجود داشته باشد ، یا نشانه شخص ثالث با موفقیت تأیید نشود. کد منبع
InvalidSignature : Token دارای امضای نامعتبر یا ناقص است. کد منبع
ناهنجاری : نشانه ناقص است و نمی توان آنرا تجزیه کرد. کد منبع
NotSupported : آزمایش مبدا تعریف شده توسط نشانه در تعبیه کروم پشتیبانی نمی شود. یک تعبیه کننده می تواند یک مرورگر (مانند Chrome یا Edge) ، یک وب سایت یا برخی از نمایندگان کاربر دیگر باشد. کد منبع
موفقیت : این نشانه به خوبی شکل گرفته است ، منقضی نشده است ، با یک ویژگی آزمایشی مبدا مطابقت دارد و از مبدا مورد انتظار درخواست می شود. کد منبع
Tokendisabled : Token به عنوان معلول مشخص شده است و از آنها نمی توان استفاده کرد. کد منبع
محاکمه : آزمایش مبدا برای کاربر فعلی در دسترس نیست . کد منبع
Unknowntrial : Token نام ویژگی ای را مشخص می کند که با هیچ آزمایش شناخته شده مطابقت ندارد. کد منبع
اشتباه : منشأ درخواست با منشاء مشخص شده در نشانه مطابقت ندارد. این می تواند شامل طرح ، نام میزبان یا بندر باشد. این وضعیت همچنین اگر یک نشانه شخص ثالث در یک هدر HTTP ، برچسب متا یا اسکریپت درون خطی ارائه شود ، به جای یک پرونده JavaScript خارجی ارائه می شود. کد منبع
اشتباه : شما از نسخه TOKEN اشتباه استفاده می کنید. فقط نسخه 2 و 3 Token پشتیبانی می شوند. کد منبع
شرایط لازم برای آزمایشات مبدا
اگر محاکمه مبدا شما مطابق آنچه انتظار می رود کار نمی کند ، حتماً شرایط زیر را رعایت کرده اید.
شما در کروم آزمایش می کنید ، نه کروم یا مرورگر دیگری
آزمایشات Origin Chrome برای کار برای کاربران Chrome طراحی شده است. نشانه های آزمایشی Chrome Origin ویژگی های موجود در سایر مرورگرها از جمله مرورگرهای کروم و کروم را فعال نمی کنند. این امر به این دلیل است که آزمایشات منشاء Chrome مخصوص ویژگی های موجود در Chrome برای آزمایش است.
آزمایشات Origin همچنین برای Firefox و Microsoft Edge در دسترس است. ثبت نام در آزمایش Firefox یا Edge Origin ویژگی ای را در Chrome امکان پذیر نمی کند.
آزمایش مبدا برای نسخه های Chrome که به سایت شما دسترسی دارند فعال شده است
دسترسی به آزمایشات مبدا محدود به نسخه های خاص Chrome است. این ممکن است به معنای این باشد که یک ویژگی آزمایشی فقط در کانال های کروم از پیش پایدار موجود است: قناری ، دیو و بتا.
برای آزمایش می توانید در دسترس بودن نسخه را از صفحه ثبت نام بررسی کنید:
می توانید نسخه Chrome مورد نظر خود را از نسخه Chrome: // بررسی کنید.
آزمایش مبدا توسط تنظیمات Chrome غیرفعال نیست
اگر یک کاربر شخصی گزارش می دهد که یک ویژگی برای آنها کار نمی کند ، بررسی کنید که این ویژگی در تنظیمات Chrome آنها غیرفعال نیست. به عنوان مثال ، برخی از ویژگی های Sandbox حریم خصوصی را می توان از صفحه chrome://settings/adPrivacy
غیرفعال کرد.
کلمات کلیدی و نحو درست است
حتما از کلمات کلیدی و نحو مناسب برای نشانه های آزمایشی مبدا استفاده کنید.
برای استفاده از شخص اول ، یک نشانه را می توان در یک برچسب متا origin-trial
ارائه داد:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
از طرف دیگر ، یک نشانه در یک هدر پاسخ Origin-Trial
ارائه می شود. در اینجا مثالی با استفاده از Express در node.js آورده شده است:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
توکن ها همچنین می توانند با JavaScript تهیه شوند:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
منشأ توکن شخص اول منشاء صفحه
اطمینان حاصل کنید که مقدار مبدا وب انتخاب شده هنگام ثبت نام در یک آزمایش ، با منشاء صفحه ای که دارای برچسب متا یا عنوان است که نشانه را فراهم می کند مطابقت دارد.
به عنوان مثال ، اگر https://example.com
به عنوان مبدا وب انتخاب کردید:
ممکن است یک ارزش توکن مانند این را بدست آورید:
بررسی کنید که این مقدار با نشانه مورد استفاده در صفحه ای که عیب یابی می کنید مطابقت داشته باشد.
برای یک نشانه ارائه شده در یک برچسب متا ، HTML را بررسی کنید:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
برای یک نشانه ارائه شده در یک هدر ، می توانید مقدار توکن را از پانل شبکه Chrome DevTools تحت عنوان های پاسخ بررسی کنید:
نشانه شخص اول از مبدا که از آن استفاده می کند ارائه می شود
برای فعال کردن دسترسی به یک ویژگی آزمایشی مبدأ برای کد موجود در صفحه ای که از مبدا شما ارائه شده است ، یک نشانه آزمایشی را در یک برچسب متا ، هدر یا با جاوا اسکریپت از همان مبدا فراهم کنید.
منشأ ثبت شده برای یک نشانه باید با منشاء موجود در آن مطابقت داشته باشد.
منشأ توکن شخص ثالث با منشاء اسکریپت مطابقت دارد
شما می توانید برای شرکت در یک محاکمه مبدا برای اسکریپت هایی که به سایر منشاء تزریق می شوند ، ثبت نام کنید.
به عنوان مثال ، اگر می خواهید اسکریپت هایی که از javascript-library.example
استفاده می شوند برای شرکت در یک آزمایش مبدا شرکت کنید ، باید یک توکن را با تطبیق شخص ثالث برای javascript-library.example
ثبت کنید.
مقدار مبدا برای یک نشانه شخص ثالث باید با منشأ فیلمنامه ای که آن را تزریق می کند مطابقت داشته باشد.
اسکریپت شخص ثالث از نشانه شخص ثالث استفاده می کند
شما نمی توانید یک اسکریپت شخص ثالث را قادر به شرکت در یک محاکمه مبدا در سایت خود کنید و تنها با ثبت نشانه برای منشاء خود و فراموش کردن فیلمنامه.
اسکریپت های شخص ثالث نیاز به استفاده از نشانه هایی با تطبیق شخص ثالث دارند که با خود فیلمنامه تزریق شده اند. این نشانه ها را نمی توان در یک برچسب متا یا عنوان در سایت شما قرار داد. JavaScript ممکن است مانند موارد زیر به نظر برسد:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
نشانه شخص ثالث با یک اسکریپت خارجی ارائه می شود ، نه یک برچسب متا ، هدر HTTP یا اسکریپت درون خطی
نشانه های شخص ثالث در برابر منشأ فیلمنامه ای که آنها را تزریق می کند ، تأیید می شوند. با این حال ، اسکریپت های درون خطی و برچسب های <meta>
در نشانه های استاتیک منشاء ندارند.
این بدان معنی است که یک نشانه شخص ثالث باید با یک اسکریپت خارجی تهیه شود ، نه در یک برچسب <meta>
یا اسکریپت درون خطی. فرقی نمی کند که اسکریپت خارجی که نشانه را تزریق می کند ، از همان منشأ صفحه حاوی یا منشأ متفاوت ناشی می شود ، تا زمانی که منشأ اسکریپت با منشاء ثبت شده برای محاکمه مطابقت داشته باشد.
نسخه ی نمایشی از این را در OT-IFRAME-3P.GLITCH.ME مشاهده کنید.
Origin Trial Featue Access برای روشی که برای ارائه یک نشانه آزمایشی استفاده می شود پشتیبانی می شود
برخی از انواع دسترسی به ویژگی های آزمایشی مبدا شما را ملزم می کند که به روشی خاص یک نشانه آزمایشی ارائه دهید. به عنوان مثال ، تنها راه برای فعال کردن دسترسی به Trial Origin برای کارگران خدمات و کارگران مشترک ، ارائه یک نشانه در یک هدر Origin-Trial
است.
تطبیق زیر دامنه برای یک نشانه مورد استفاده در زیر دامنه فعال می شود
اگر به نظر نمی رسد که یک ویژگی Trial Origin برای برخی از صفحات در سایت شما کار کند ، بررسی کنید که نشانه ها به درستی برای زیر دامنه های خدمت به آنها تنظیم شده اند.
هنگامی که برای یک آزمایش Origin ثبت نام می کنید ، می توانید به صورت اختیاری تصمیم بگیرید که با تمام زیر دامنه های مبدا مطابقت داشته باشد:
همچنین می توانید زیر دامنه های مربوط به نشانه های شخص ثالث را مطابقت دهید:
نشانه های زیر دامنه برای منشاء در لیست پسوند عمومی صادر نمی شود . به عنوان مثال ، شما نمی توانید منشاء مانند https://appspot.com
یا https://github.io
را ثبت کنید ، اگرچه می توانید برای دامنه های موجود در آن مبدا ، مانند https://example.appspot.com
یا https://example.github.io
ثبت نام کنید.
نشانه هنوز معتبر است
توکن ها به مدت شش هفته پس از ایجاد آنها معتبر هستند. فراتر از آن ، برای گسترش معتبر تا تاریخ ، باید بازخورد ارسال کنید. راهنمای آزمایشات اصلی برای توسعه دهندگان وب توضیح می دهد که چگونه می توان اطمینان حاصل کرد که نشانه شما برای یک آزمایش کل مبدا معتبر است.
می توانید نشانه های فعال را در آزمایشات منشاء Chrome خود بررسی کنید صفحه ثبت نام من :
Chrome Devtools Success
وضعیت را در صورتی که هنوز معتبر است ، نشان می دهد:
اگر نشانه شما منقضی شده است ، DevTools وضعیت Expired
نشان می دهد و صفحه ثبت نام من یک بخش توکن های منقضی شده را نشان می دهد.
محاکمه مبدا ادامه دارد
می توانید تاریخ پایان یک دادگاه مبدأ را از صفحه ثبت نام آن بررسی کنید:
برای آزمایشاتی که به پایان رسیده است ، DevTools چیزی شبیه به این را نمایش می دهد:
وقتی بازخورد مورد نیاز است یا یک نشانه در حال انقضا است ، ایمیل های خودکار ارسال می شود ، اما نه وقتی که آزمایش پایان یابد.
آزمایش Origin برای کاربر فعلی در دسترس است
برخی از آزمایشات مبدا برای برخی از کاربران در دسترس نیست ، حتی اگر یک نشانه معتبر ارائه شود.
اگر آزمایشی برای کاربر فعلی در دسترس نباشد ، Chrome Devtools یک هشدار TrialNotAllowed
نشان می دهد:
اطلاعات مربوط به محدودیت های استفاده و در دسترس بودن برای هر آزمایش مبدا ارائه شده است.
مانند هر ویژگی پلت فرم وب ، باید از تشخیص ویژگی استفاده کنید تا تأیید کنید که ویژگی آزمایشی Origin قبل از استفاده از آن پشتیبانی می شود.
محدودیت های استفاده از محاکمه مبدأ فراتر رفته است
به طور پیش فرض ، یک ویژگی آزمایشی Origin در هر صفحه ای فعال می شود که دارای یک نشانه معتبر برای محاکمه است.
به جز در موارد نادر ، استفاده از محاکمه مبدا به حداکثر 0.5 ٪ از کل بارهای صفحه کروم محدود می شود. ویژگی Trial Origin در صورتی که کل کاربران Chrome بیش از این مقدار باشد ، غیرفعال است. DevTools وضعیت توکن را به عنوان غیرفعال نشان می دهد.
هیچ محدودیتی برای کارآزمایی های استهلاک وجود ندارد ، زیرا آنها ویژگی های جدیدی را معرفی نمی کنند ، بنابراین خطر ایجاد بخش قابل توجهی از وب وابسته به یک ویژگی آزمایشی را ایجاد نمی کنند.
برخی از آزمایشات گزینه ای برای محدود کردن استفاده دارند ، به این معنی که ویژگی های آزمایشی مبدا برای برخی از کاربران غیرفعال است. این گزینه از صفحه ثبت نام برای محاکمه مبدأ در دسترس است که آن را ارائه می دهد:
اگر متوجه شدید که دسترسی کاربران به یک ویژگی آزمایشی Origin پایین تر از حد انتظار است ، اطمینان حاصل کنید که حد استاندارد انتخاب شده است.
Iframes نشانه های خاص خود را ارائه می دهد
برای دسترسی به یک ویژگی آزمایشی مبدأ ، یک IFRAME باید یک نشانه را در یک برچسب متا ، یک هدر HTTP یا برنامه ای فراهم کند. Iframes دسترسی به ویژگی های فعال شده برای صفحات حاوی آنها را به ارث نمی برد.
OT-iframe.glitch.me دسترسی به یک ویژگی آزمایشی مبدا را از یک IFRAME نشان می دهد. OT-IFRAME-3P.GLITCH.ME چندین نمونه Iframe متقاطع را ارائه می دهد.
خط مشی های مجوز به درستی پیکربندی شده است
برخی از ویژگی های آزمایشی مبدا ممکن است تحت تأثیر یک Permissions-Policy
قرار بگیرد. شما می توانید این کار را در هدف آزمایش ویژگی آزمایشی یا در اسناد توسعه دهنده برای ویژگی در Developer.chrome.com/docs بررسی کنید.
اطمینان حاصل کنید که ویژگی مورد نظر برای دسترسی به آن توسط یک دستورالعمل Permissions-Policy
مسدود نشده است. می توانید هدر پاسخ را در صفحه شبکه Chrome DevTools بررسی کنید و لیست کامل ویژگی های مجاز در پانل برنامه را مشاهده کنید.
کارگران چطور؟
ویژگی های آزمایشات اصلی را می توان در دسترس کارگران خدمات ، کارگران مشترک و کارگران اختصاصی قرار داد. برای فعال کردن دسترسی به کارگران خدماتی و کارگران مشترک ، باید در یک هدر Origin-Trial
ارائه دهید.
کارگران اختصاصی دسترسی به ویژگی های فعال شده توسط سند والدین خود را به ارث می برند.
قبل از دسترسی به ویژگی ، توکن ارائه می شود
اطمینان حاصل کنید که قبل از دسترسی به ویژگی آزمایشی ، یک نشانه آزمایشی مبدأ ارائه شده است. به عنوان مثال ، اگر یک صفحه با JavaScript نشانه ای را ارائه می دهد ، اطمینان حاصل کنید که کد برای تهیه نشانه قبل از کدی که سعی در دسترسی به ویژگی آزمایشی دارد ، اجرا شود.
نسخه های آزمایشی محاکمه
سایت های زیر نمونه هایی از استقرار توکن را نشان می دهد.
چگونه می توان یک نشانه آزمایشی مبدا ارائه داد
- توکن در یک برچسب متا
- نشانه در یک هدر
- نشانه تزریق شده توسط اسکریپت شخص ثالث
- ویژگی قابل دسترسی در iframe
- نمونه های Iframe با منشاء متقابل
ابزارهای آزمایشی مبدا
ویژگی ها در محاکمه مبدا
موارد زیر نسخه ی نمایشی برای API در آزمایشات در حال انجام است
بیشتر بدانید
- با آزمایشات Origin Chrome شروع کنید
- آزمایشات مبدا شخص ثالث
- راهنمای آزمایشات اصلی برای توسعه دهندگان وب
- توضیحات آزمایشی مبدا
- اجرای یک محاکمه مبدا
- فرآیند راه اندازی ویژگی های جدید در کروم
- قصد توضیح: تغییر شکل دادن به روند حمل و نقل چشمک زن
- از آزمایشات Origin در Microsoft Edge استفاده کنید
- آزمایشات مبدا برای Firefox