פתרון בעיות בגרסאות המקור לניסיון של Chrome

פתרון בעיות נפוצות עם אסימוני ניסיון במטא תגים, בכותרות ובסקריפטים.

המדריך הזה מיועד לאנשים שיש להם ידע מעשי בגרסאות ניסיון של מקור ב-Chrome. למידע נוסף, תוכלו לעיין במדריך לניסויים במקור למפתחי אתרים.

אם נתקלתם באג בגרסת המקור לניסיון ב-Chrome, תוכלו לשלוח בעיה חדשה במאגר GitHub של גרסת המקור לניסיון ב-Chrome.

רשימת המשימות

כדי לפתור בעיות בגרסת הטרום-השקה, עליכם לבדוק כל אחת מהבעיות באמצעות הקישורים שסופקו.




















איך בודקים אסימונים באמצעות כלי הפיתוח ל-Chrome

ב-DevTools מוצגים פרטי הניסיון של המקור בחלונית Application, עבור המסגרת שנבחרה.

מידע על ניסויים במקור ב-Chrome DevTools בחלונית Application (אפליקציה).

מרחיבים את המסגרת העליונה כדי לבדוק את האסימונים של תקופת הניסיון במקור שזמינים למסגרת המשנה. לדוגמה, בדף הדגמה בכתובת ot-iframe.glitch.me, אפשר לראות שהדף ב-iframe מספק אסימון.

חלונית האפליקציה של Chrome DevTools, שבה מוצגים טוקנים של גרסת המקור לניסיון לדף ב-iframe.

  • סטטוס האסימון: האם לדף יש אסימון תקין. חשוב לזכור שבחלק מהגרסאות הניסיוניות של המקור יכולים להיות גורמים אחרים, כמו הגבלות גיאוגרפיות, שגורמים לכך שהתכונה של גרסת המקור הניסיונית לא תהיה זמינה, למרות שיש אסימון תקף. במאמר קודי סטטוס ב-Chrome DevTools מוסבר מה המשמעות של כל אחד מהקודים לניסויים במקור.
  • מקור: מקור האינטרנט שרשום לאסימון.
  • Expiry Time: התאריך והשעה המקסימליים (האחרונים) האפשריים לתפוגת התוקף של האסימון, שתואמים (בדרך כלל) לסיום תקופת הניסיון. התאריך הזה שונה מתאריך התפוגה של האסימון שמוצג בקטע My Registrations (הרישומים שלי). התאריך הזה מציין את משך התוקף של האסימון, ואפשר להאריך אותו.
  • הגבלת שימוש: מגבלות שימוש שאפשר להגדיר לגרסאות ניסיון מסוימות.
  • צד שלישי: האם התאמה לצד שלישי מופעלת עבור האסימון. האפשרות הזו זמינה בחלק מהגרסאות הניסיון למקורות, שבהן צריך לגשת לתכונה של תקופת הניסיון בכמה אתרים מסקריפטים של צד שלישי.
  • התאמה של תת-דומיינים: האם התאמה של תת-דומיינים מופעלת עבור האסימון. כך אפשר לבדוק תכונה של גרסת טרום-השקה של מקור בכמה תת-דומיינים של המקור, בלי צורך בטוקן שונה לכל תת-דומיין.

בכלי הפיתוח של Chrome תוצג אזהרה לצד שם תקופת הניסיון אם: היא לא זמינה למשתמש הנוכחי, התוקף של האסימון פג או אם יש הגבלות אחרות.

מידע על גרסת המקור לניסיון ב-Chrome DevTools בחלונית 'אפליקציה', מוצג טוקן שפג תוקפו

קודי סטטוס

יכול להיות שתראו את קודי המצב הבאים בכלי הפיתוח של Chrome.

  • Expired: תאריך התפוגה של הטוקן חלף. כדי להפעיל מחדש את תקופת הניסיון המקורית, צריך לחדש את האסימון. יוצרים טוקן חדש עם תאריך תפוגה חדש. קוד מקור

  • FeatureDisabled: תקופת הניסיון מושבתת. קוד מקור

  • FeatureDisabledForUser: האסימון הזה הוגדר כמושבת למשתמש הנוכחי עם הגבלת שימוש חלופית. אפשר לעיין בקטע 'חרגות מקבוצת משנה של משתמשים' במסמך העיצוב. קוד מקור 1 וקוד מקור 2

  • לא מאובטח: מקור הבקשה לא מאובטח, והתנסות לא מופעלת במקורות לא מאובטחים. כפי שמוסבר בקוד של מאמת האסימונים של גרסת המקור לניסיון: 'באסימונים של צד שלישי, גם המקור הנוכחי וגם מקור התסריט חייבים להיות מאובטחים. בגלל ההתאמה של תת-הדומיין, יכול להיות שמקור האסימון לא יתאים בדיוק לאחד ממקורות הסקריפט שצוינו, והתוצאה לא תציין איזה מקור ספציפי התאים. כלומר, לא מדובר בחיפוש ישיר כדי למצוא את מקור הסקריפט המתאים. כדי שלא תצטרכו לבצע מחדש את כל ההשוואות של מקורות הנתונים, יש מקשי קיצור שמשתנים בהתאם למספר מקורות הסקריפט שציינתם. צריך להיות לפחות אחד, אחרת האסימון של הצד השלישי לא יאומת בהצלחה.' קוד מקור

  • InvalidSignature: לטוקן יש חתימה לא חוקית או חתימה בפורמט שגוי. קוד מקור

  • פורמט שגוי: הפורמט של האסימון שגוי ולא ניתן היה לנתח אותו. קוד מקור

  • NotSupported: אין תמיכה בגרסת הבטא של המקור שמוגדרת על ידי האסימון ב-Chromium embedder. הגורם שמטמיע יכול להיות דפדפן (כמו Chrome או Edge),‏ WebView או סוכן משתמש אחר. קוד מקור

  • הצלחה: האסימון תקין, לא פג תוקפו, תואם לתכונה של תקופת ניסיון במקור והבקשה נשלחה ממקור צפוי. קוד מקור

  • TokenDisabled: הטוקן סומן כמושבת ואי אפשר להשתמש בו. קוד מקור

  • TrialNotAllowed: הגרסה לניסיון של מקור הנתונים לא זמינה למשתמש הנוכחי. קוד מקור

  • UnknownTrial: הטוקן מציין שם של תכונה שלא תואמת לאף תקופת ניסיון ידועה. קוד מקור

  • WrongOrigin: מקור הבקשה לא תואם למקור שצוין בטוקן. אפשר לציין את הסכימה, שם המארח או היציאה. הסטטוס הזה יוצג גם אם אסימון של צד שלישי מסופק בכותרת HTTP, בתג מטא או בסקריפט מוטמע, ולא מקובץ JavaScript חיצוני. קוד מקור

  • WrongVersion: אתם משתמשים בגרסה הלא נכונה של האסימון. יש תמיכה רק באסימונים בגרסה 2 ובגרסה 3. קוד מקור


התנאים הנדרשים לניסויים במקור

אם תקופת הניסיון של המקור לא פועלת כמצופה, צריך לוודא שעומדים בתנאים הבאים.

אתם מבצעים בדיקה ב-Chrome, ולא ב-Chromium או בדפדפן אחר

גרסת ה-Origin לניסיון ב-Chrome מיועדת לשימוש של משתמשי Chrome. אסימוני ניסיון של מקור ב-Chrome לא יפעילו תכונות בדפדפנים אחרים, כולל Chromium ודפדפנים מבוססי Chromium. הסיבה לכך היא שניסויים במקור ב-Chrome ספציפיים לתכונות שזמינות ב-Chrome לצורך ניסוי.

גרסאות מקור לניסיון זמינות גם לדפדפני Firefox ו-Microsoft Edge. רישום לתוכנית ניסיון של מקור ב-Firefox או ב-Edge לא יפעיל תכונה ב-Chrome.

תקופת הניסיון במקור מופעלת בגרסאות Chrome שמגיעות לאתר שלכם

הגישה לגרסת הניסיון של המקור מוגבלת לגרסאות ספציפיות של Chrome. יכול להיות שתכונה בתקופת ניסיון זמינה רק בערוצי Chrome שעדיין לא הגיעו למצב יציב: Canary, ‏ Dev ו-Beta.

אפשר לבדוק את הזמינות של הגרסה בדף ההרשמה לתקופת הניסיון:

גרסת Chrome Origin Trials לקבוצות מאינטראקציה ישירה ול-SameParty עם הדגשת הזמינות ב-Chrome

אפשר לבדוק את גרסת Chrome שבה אתם משתמשים בכתובת chrome://version.

תקופת הניסיון במקור לא מושבתת על ידי הגדרות Chrome

אם משתמש מדווח שתכונה מסוימת לא פועלת אצלו, צריך לבדוק שהתכונה לא מושבתת בהגדרות Chrome שלו. לדוגמה, אפשר להשבית תכונות מסוימות של ארגז החול לפרטיות מהדף 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);
}

מקור הטוקן מהצד הראשון תואם למקור הדף

חשוב לוודא שהערך של Web Origin שנבחר בזמן ההרשמה לתוכנית הניסיון תואם למקור של הדף שבו מופיע המטא תג או הכותרת שמספקים את האסימון.

לדוגמה, אם בחרתם ב-https://example.com בתור מקור האינטרנט:

דף גרסת המקור לניסיון ב-Chrome שבו מוצגת הכתובת https://example.com שנבחרה כגרסת המקור לאינטרנט.

ערך הטוקן עשוי להיראות כך:

דף של Chrome Origin Trials שבו מוצג ערך האסימון.

בודקים שהערך הזה תואם לאסימון שנעשה בו שימוש בדף שבו פותרים את הבעיה.

לאסימון שסופק במטא תג, בודקים את ה-HTML:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

אם האסימון מסופק בכותרת, אפשר לבדוק את ערך האסימון בחלונית 'רשת' בכלי הפיתוח ל-Chrome בקטע כותרות תגובה:

חלונית הרשת של Chrome DevTools שבה מוצגת כותרת התגובה של גרסת המקור לניסיון.

אסימון צד ראשון מוצג מהמקור שמשתמש בו

כדי לאפשר גישה לתכונה של גרסת ניסיון למקור לקוד שכלול בדף שמוצג מהמקור שלכם, צריך לספק אסימון גרסת ניסיון במטא תג, בכותרת או באמצעות JavaScript מאותו מקור.

המקור שמשויך לאסימון חייב להתאים למקור שמציג אותו.

מקור האסימון של הצד השלישי תואם למקור הסקריפט

אתם יכולים להירשם כדי להשתתף בתוכנית הניסוי למקורות של סקריפטים שמוזנים במקורות אחרים.

לדוגמה, אם רוצים שסקריפטים שמוצגים מ-javascript-library.example ישתתפו בגרסת הטרום-השקה של המקור, צריך לרשום אסימון עם התאמה של צד שלישי עבור javascript-library.example.

דף ההרשמה לניסויים למקורות ב-Chrome שבו מופיעה התאמה לצד שלישי שנבחרה.

ערך המקור של אסימון של צד שלישי חייב להתאים למקור הסקריפט שמחדיר אותו.

סקריפט של צד שלישי שמשתמש באסימון של צד שלישי

אי אפשר לאפשר לסקריפט של צד שלישי להשתתף בתוכנית הניסוי למקורות באתר שלכם רק על ידי רישום של אסימון למקור והתעלמות מהסקריפט.

בסקריפטים של צד שלישי צריך להשתמש באסימונים עם התאמה של צד שלישי מופעלת, שמוזנים באמצעות הסקריפט עצמו. אי אפשר לכלול את האסימונים האלה במטא תג או בכותרת באתר. קוד ה-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> ב-Markup סטטי אין מקור.

כלומר, כדי לספק אסימון של צד שלישי צריך להשתמש בסקריפט חיצוני, ולא בתג <meta> או בסקריפט מוטמע. לא משנה אם הסקריפט החיצוני שמחדיר את האסימון מגיע מאותו מקור כמו הדף שמכיל אותו או ממקור אחר, כל עוד המקור של הסקריפט תואם למקור שרשום לניסיון.

הדגמה של האפשרות הזו זמינה בכתובת ot-iframe-3p.glitch.me.

הגישה לתכונות של גרסת מקור לניסיון נתמכת בשיטה שבה נעשה שימוש כדי לספק את אסימון הניסיון

כדי לקבל גישה לסוגים מסוימים של תכונות בגרסאות מקור לניסיון, צריך לספק אסימון לניסיון באופן ספציפי. לדוגמה, הדרך היחידה להפעיל גישה לניסיון של מקור ל-service workers ולעובדים משותפים היא לספק אסימון בכותרת Origin-Trial.

התאמה בין תת-דומיינים מופעלת לאסימון שמשמש בתת-דומיין

אם נראה שתכונת גרסת טרום-השקה של מקור לא פועלת בדפים מסוימים באתר, כדאי לבדוק שהאסימונים מוגדרים בצורה נכונה בתת-הדומיינים שמציגים אותם.

כשנרשמים לתקופת ניסיון למקור, אפשר לבחור להתאים את כל תתי-הדומיינים של המקור:

דף ההרשמה לגרסת המקור לניסיון של Chrome שבו נבחרה התאמה של תת-דומיין

אפשר גם להתאים תת-דומיינים לאסימונים של צד שלישי:

דף ההרשמה לניסויים למקורות ב-Chrome שבו נבחרו התאמה לצד שלישי והתאמה לתת-דומיין

אסור להנפיק אסימונים של תת-דומיינים למקורות שמופיעים ברשימת הסיומות הציבוריות. לדוגמה, אי אפשר לרשום מקור כמו https://appspot.com או https://github.io, אבל אפשר לרשום דומיינים בתוך המקור הזה, כמו https://example.appspot.com או https://example.github.io.

הטוקן עדיין בתוקף

האסימונים תקפים למשך שישה שבועות אחרי היצירה שלהם. בנוסף, כדי להאריך את התאריך Valid Until, צריך לשלוח משוב. במדריך למפתחי אתרים בנושא תוכניות ניסיון למקורות מוסבר איך לוודא שהטוקן תקף לכל תקופת הניסיון של המקור.

אתם יכולים לבדוק אם יש לכם אסימונים פעילים בדף 'ההרשמות שלי' של תוכנית Chrome Origin Trials:

גרסת Chrome לניסיון למקורות נתונים 
דף &#39;ההרשמות שלי&#39; שבו מוצג התאריך &#39;תקף עד&#39;

בכלי הפיתוח ל-Chrome יוצג הסטטוס Success אם האסימון עדיין תקף:

מידע על גרסת הניסיון של המקור ב-Chrome DevTools בחלונית Application (אפליקציה), עם הדגשה של Status: Success (סטטוס: הצלחה).

אם תוקף האסימון פג, ב-DevTools יופיע הסטטוס Expired ובדף My Registrations יופיע הקטע Expired Tokens.

דף &#39;ההרשמות שלי&#39; בגרסת הבטא של Chrome, שבו מוצגים אסימונים שפג תוקפם.

תקופת הניסיון של גרסת המקור נמשכת

אפשר לבדוק את תאריך הסיום של תקופת הניסיון של המקור בדף הרישום שלו:

הדף של גרסת המקור לניסיון ב-Chrome לקבוצות מאינטראקציה ישירה ול-SameParty, עם הדגשת הפרטים שזמינים בגרסת הניסיון.

בתקופות ניסיון שהסתיימו, יופיע ב-DevTools משהו כזה:

פרטי ניסויים במקור ב-Chrome DevTools בחלונית Application (אפליקציה), עם הערכים ValidTokenNotProvided ו-Status Expired

תקבלו אימיילים אוטומטיים כשנבקש מכם משוב או כשפג התוקף של אסימון, אבל לא בסיום תקופת הניסיון.

תקופת הניסיון במקור זמינה למשתמש הנוכחי

חלק מהגרסאות הניסיון של מקורות לא זמינות למשתמשים מסוימים, גם אם הם מספקים אסימון תקף.

אם תקופת הניסיון לא זמינה למשתמש הנוכחי, תוצג אזהרה TrialNotAllowed בכלי הפיתוח ל-Chrome:

מידע על גרסת המקור לניסיון ב-Chrome DevTools בחלונית Application (אפליקציה), עם האזהרה TrialNotAllowed.

מידע על הגבלות השימוש ועל הזמינות זמין לכל תקופת ניסיון.

כמו בכל תכונה בפלטפורמת אינטרנט, לפני שמשתמשים בתכונה של תקופת ניסיון במקור, צריך להשתמש בזיהוי תכונות כדי לוודא שהיא נתמכת.

לא חרגתם מההגבלות על השימוש בתקופת הניסיון של המקור

כברירת מחדל, התכונה 'גרסה ראשונית לניסיון' מופעלת בכל דף שיש בו אסימון תקף לניסיון.

למעט במקרים נדירים, השימוש בגרסת המקור לניסיון מוגבל ל-0.5% לכל היותר מכל הטעינות של דפים ב-Chrome. התכונה של תקופת הניסיון במקור תושבת אם סך כל השימוש של כל משתמשי Chrome חורג מהסכום הזה. סטטוס האסימון מוצג כ'מושבת' בכלי הפיתוח.

אין מגבלות שימוש בגרסת ניסיון של תכונה שיצאה משימוש, כי היא לא כוללת תכונות חדשות, ולכן אין סיכון שחלק משמעותי מהאתרים יהיו תלויים בתכונה הזו.

בחלק מתקופות הניסיון יש אפשרות להגביל את השימוש, כלומר תכונות של תקופת הניסיון במקור מושבתות אצל חלק מהמשתמשים. האפשרות הזו זמינה בדף ההרשמה לתקופת ניסיון במקור שמציע אותה:

דף ההרשמה לגרסת המקור לניסיון של Chrome שבו מוצגות הגבלות השימוש.

אם אתם מבחינים שהגישה של המשתמשים לתכונה של גרסת ניסיון במקור נמוכה מהצפוי, ודאו שבחרתם באפשרות Standard Limit.

מסגרות iframe מספקות אסימונים משלהם

כדי לאפשר גישה לתכונה של גרסה מוקדמת לניסיון, ה-iframe צריך לספק אסימון במטא תג, בכותרת HTTP או באופן פרוגרמטי. למסגרות iframe אין גישה בירושה לתכונות שמופעלות בדפים שמכילים אותן.

הדומיין ot-iframe.glitch.me מדגים גישה לתכונה של גרסה מוקדמת לניסיון ממקור מסוים מ-iframe. הדומיין ot-iframe-3p.glitch.me מספק כמה דוגמאות ל-iframe חוצה-מקורות.

מדיניות ההרשאות מוגדרת בצורה נכונה

יכול להיות שחלק מהתכונות של תקופת הניסיון במקור יושפעו מPermissions-Policy. אפשר לבדוק זאת בבקשה לניסוי של התכונה לניסיון, או במסמכי התיעוד למפתחים של התכונה בכתובת developer.chrome.com/docs.

מוודאים שהתכונה שאליה מנסים לגשת לא חסומה על ידי הוראה מסוג Permissions-Policy. אפשר לבדוק את כותרות התגובה בחלונית Network (רשת) של כלי הפיתוח של Chrome, ולראות את הרשימה המלאה של התכונות המותרות בחלונית Application (אפליקציה).

חלונית האפליקציה של Chrome DevTools, שבה מוצגת התכונה Permissions Policy Allowed Feature.

מה לגבי העובדים?

אפשר להפוך את התכונות של גרסת הטרום-השקה לזמינות ל-service workers, ל-shared workers ול-dedicated workers. כדי לאפשר גישה לשירותים עובדים ולעובדים משותפים, צריך לספק אסימון בכותרת Origin-Trial.

עובדים ייעודיים יורשים גישה לתכונות שמופעלות במסמך ההורה שלהם.

הטוקן מסופק לפני הגישה לתכונה

חשוב לוודא שסימן ניסיון המקור מסופק לפני הגישה לתכונה של תקופת הניסיון. לדוגמה, אם דף מספק אסימון באמצעות JavaScript, צריך לוודא שהקוד שמספק את האסימון מופעל לפני הקוד שמנסה לגשת לתכונה של תקופת הניסיון.

הדגמות של גרסת מקור לניסיון

באתרים הבאים מוצגות דוגמאות לפריסת אסימונים.

איך מספקים אסימון לגרסת מקור לניסיון

כלים לגרסת מקור לניסיון

התכונות בגרסת המקור לניסיון

בהמשך מפורטות הדגמות של ממשקי API שנמצאים בגרסת המקור לניסיון

למידע נוסף