Khắc phục sự cố khi dùng thử theo nguyên gốc Chrome

Giải quyết các vấn đề thường gặp với mã thông báo dùng thử trong thẻ meta, tiêu đề và tập lệnh.

Danh sách kiểm tra

Để khắc phục sự cố với bản dùng thử theo nguyên gốc, hãy giải quyết từng vấn đề dưới đây bằng các đường liên kết được cung cấp.




















Hãy dùng thử ngay!

Các bản minh hoạ dưới đây cho thấy từng cách để cung cấp mã thông báo dùng thử theo nguyên gốc và truy cập vào một tính năng dùng thử:

Dùng Công cụ của Chrome cho nhà phát triển để kiểm tra mã thông báo

Từ Công cụ cho nhà phát triển Chrome 93 cung cấp thông tin về bản dùng thử theo nguyên gốc trong Bảng điều khiển ứng dụng cho khung đã chọn.

Dịch vụ Công cụ của Chrome cho nhà phát triển 
thông tin về các bản dùng thử theo nguyên gốc trong bảng điều khiển Ứng dụng.

Mở rộng khung trên cùng để kiểm tra mã thông báo dùng thử theo nguyên gốc có sẵn cho khung phụ. Ví dụ: đối với trường bản minh hoạ tại ot-iframe.glitch.me, bạn có thể thấy trang đó trong iframe sẽ cung cấp một mã thông báo.

Dịch vụ Công cụ của Chrome cho nhà phát triển 
  Bảng điều khiển ứng dụng, hiển thị mã thông báo bản dùng thử theo nguyên gốc cho trang trong iframe.

  • Trạng thái mã thông báo: Liệu trang có mã thông báo hợp lệ hay không. Xin lưu ý rằng đối với một số bản dùng thử theo nguyên gốc, có thể có các yếu tố khác, chẳng hạn như hạn chế về địa lý, khiến tính năng dùng thử theo nguyên gốc không mặc dù có mã thông báo hợp lệ. Mã trạng thái của Chrome Công cụ cho nhà phát triển giải thích ý nghĩa của từng mã đối với bản dùng thử theo nguyên gốc.
  • Nguồn gốc: Nguồn gốc web đã đăng ký cho mã thông báo.
  • Thời gian hết hạn: ngày/giờ hết hạn tối đa (mới nhất) có thể của mã thông báo (thường sẽ khớp với kết thúc thử nghiệm. Ngày này không giống với Ngày hết hạn hợp lệ của mã thông báo được hiển thị trong phần Đăng ký của tôi, để cho biết mã thông báo có hiệu lực trong bao lâu, và có thể được gia hạn.
  • Giới hạn sử dụng: Giới hạn sử dụng có thể được đặt cho một số bản dùng thử.
  • Bên thứ ba: Liệu có so khớp bên thứ ba hay không đã được bật cho mã thông báo. Tính năng này chỉ áp dụng cho một số bản dùng thử theo nguyên gốc, trong đó tính năng dùng thử cần có thể truy cập trên nhiều trang web từ tập lệnh của bên thứ ba.
  • So khớp miền con: Liệu có so khớp miền con hay không đã được bật cho mã thông báo. Việc này cho phép thử nghiệm tính năng bản dùng thử theo nguyên gốc trên nhiều miền con của một nguồn gốc mà không yêu cầu mỗi miền con phải có mã thông báo khác nhau.

Công cụ của Chrome cho nhà phát triển sẽ hiển thị cảnh báo bên cạnh tên bản dùng thử nếu không có bản dùng thử cho người dùng hiện tại, mã đã hết hạn hoặc nếu có các quy định hạn chế khác.

Dịch vụ Công cụ của Chrome cho nhà phát triển 
thông tin về các bản dùng thử theo nguyên gốc trong bảng điều khiển Ứng dụng cho thấy mã thông báo đã hết hạn

Mã trạng thái của Chrome Công cụ cho nhà phát triển

  • Đã hết hạn: Mã thông báo đã quá ngày hết hạn. Bạn cần gia hạn mã thông báo để hãy tạo một mã thông báo mới có ngày hết hạn mới.
    Mã nguồn

  • FeatureDisabled: Bản dùng thử hiện đang bị tắt để sử dụng.
    Mã nguồn

  • FeatureDisabledForUser: Mã thông báo này đã được chỉ định là bị vô hiệu hoá cho người dùng hiện tại thông qua một hạn chế sử dụng thay thế. Xem phần "Loại trừ tập hợp con người dùng" của tài liệu thiết kế.
    Mã nguồn 1
    Mã nguồn 2

  • Không an toàn: Nguồn gốc của yêu cầu không an toàn và bản dùng thử sẽ không được bật đối với các nguồn gốc không an toàn. Như đã giải thích trong mã trình xác thực mã thông báo dùng thử theo nguyên gốc: Đối với mã thông báo của bên thứ ba, cả nguồn hiện tại và nguồn gốc của tập lệnh đều phải được bảo mật. Do miền con khớp, thì nguồn gốc của mã thông báo có thể không khớp chính xác với một trong các tập lệnh đã cung cấp và kết quả không cho biết nguồn gốc cụ thể nào được so khớp. Điều này có nghĩa là đây không phải là tra cứu trực tiếp để tìm nguồn gốc tập lệnh thích hợp. Để tránh phải làm lại tất cả các phép so sánh gốc, có những lối tắt phụ thuộc vào số lượng nguồn gốc của tập lệnh được cung cấp. Phải có ít nhất hoặc mã thông báo của bên thứ ba sẽ không được xác thực thành công."
    Mã nguồn

  • InvalidSignature: Mã thông báo có chữ ký không hợp lệ hoặc không đúng định dạng.
    Mã nguồn

  • Không đúng định dạng: Mã thông báo không đúng định dạng và không thể phân tích cú pháp.
    Mã nguồn

  • NotSupported: Bản dùng thử theo nguyên gốc do mã thông báo xác định không được hỗ trợ trong Chromium "embedder": một trình duyệt như Chrome hoặc Edge, WebView hoặc tác nhân người dùng khác.
    Mã nguồn

  • Thành công: Mã thông báo có định dạng phù hợp, chưa hết hạn, khớp với một tính năng dùng thử theo nguyên gốc và được yêu cầu từ một nguồn dự kiến.
    Mã nguồn

  • TokenDisabled: Mã thông báo đã được đánh dấu là bị vô hiệu hoá và không thể sử dụng.
    Mã nguồn

  • TrialNotAllowed: Bản dùng thử theo nguyên gốc không được cung cấp cho người dùng hiện tại.
    Mã nguồn

  • UnknownTrial: Mã thông báo chỉ định tên tính năng không khớp với bất kỳ bản dùng thử nào đã biết.
    Mã nguồn

  • WrongOrigin: Nguồn gốc của yêu cầu không khớp với nguồn đã chỉ định trong mã thông báo. Điều này có thể bao gồm lược đồ, tên máy chủ hoặc cổng. Trạng thái này cũng sẽ hiển thị nếu mã thông báo của bên thứ ba được cung cấp trong tiêu đề HTTP, thẻ meta hoặc tập lệnh cùng dòng chứ không phải từ tệp JavaScript bên ngoài.
    Mã nguồn

  • WrongVersion: Phiên bản mã thông báo không chính xác: hiện chỉ hỗ trợ mã thông báo phiên bản 2 và 3.
    Mã nguồn


Ứng dụng này không hoạt động! 🤔

Nếu bản dùng thử theo nguyên gốc không hoạt động như mong đợi, hãy đảm bảo bạn đáp ứng các điều kiện sau.

Bạn đang thử nghiệm trong Chrome, chứ không phải trong Chromium hoặc một trình duyệt khác

Bản dùng thử theo nguyên gốc Chrome được thiết kế để phù hợp với người dùng Chrome. Không dựa vào mã thông báo bản dùng thử theo nguyên gốc của Chrome để bật tính năng dùng thử trong các trình duyệt khác, bao gồm Chromium và các trình duyệt khác dựa trên Chromium. Nguyên nhân là do bản dùng thử theo nguyên gốc Chrome chỉ áp dụng cho các tính năng có trong Chrome cho thử nghiệm.

Bạn cũng có thể dùng bản dùng thử theo nguyên gốc cho FirefoxMicrosoft Edge. Khi đăng ký dùng thử theo nguyên gốc Firefox hoặc Edge sẽ không bật một tính năng trong Chrome.

Bản dùng thử theo nguyên gốc được bật cho các phiên bản Chrome truy cập vào trang web của bạn

Chỉ có một số phiên bản Chrome cụ thể mới có quyền truy cập vào bản dùng thử. Trong một số trường hợp, đây có thể là bản dùng thử chỉ có sẵn cho các kênh Chrome chính thức trước: Canary, Dev và Beta.

Bạn có thể kiểm tra phạm vi cung cấp phiên bản từ trang đăng ký cho bản dùng thử:

Bản dùng thử theo nguyên gốc của Chrome
trang về Nhóm bên thứ nhất và Cùng nhóm nhạc với khả năng sử dụng Chrome được làm nổi bật

Bạn có thể kiểm tra phiên bản Chrome mình đang sử dụng từ chrome://version.

Chế độ cài đặt của Chrome không tắt bản dùng thử theo nguyên gốc

Nếu một người dùng báo cáo rằng một tính năng không hoạt động đối với họ, hãy kiểm tra để chắc chắn rằng tính năng đó tắt trong phần cài đặt Chrome. Ví dụ: Hộp cát về quyền riêng tư bạn có thể tắt các tính năng trên trang chrome://settings/privacySandbox.

Từ khóa và cú pháp phải chính xác

Hãy nhớ sử dụng từ khoá và cú pháp thích hợp cho mã thông báo bản dùng thử theo nguyên gốc.

Để sử dụng bên thứ nhất, bạn có thể cung cấp mã thông báo trong thẻ meta origin-trial:

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

Ngoài ra, bạn có thể cung cấp mã thông báo trong tiêu đề phản hồi Origin-Trial. Sau đây là một ví dụ về cách sử dụng Express trong Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Mã thông báo cũng có thể được cung cấp bằng JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Nguồn gốc của mã thông báo của bên thứ nhất khớp với nguồn gốc của trang

Đảm bảo rằng giá trị Nguồn gốc web được chọn khi bạn đăng ký dùng thử khớp với nguồn gốc của có thẻ meta hoặc tiêu đề cung cấp mã thông báo.

Ví dụ: nếu bạn đã chọn https://example.com làm Nguồn gốc web:

Bản dùng thử theo nguyên gốc của Chrome 
trang cho thấy https://example.com được chọn làm Nguồn gốc web.

Bạn có thể nhận được giá trị mã thông báo như sau:

Bản dùng thử theo nguyên gốc của Chrome 
trang hiển thị giá trị mã thông báo.

Kiểm tra để đảm bảo giá trị này khớp với mã thông báo đã dùng trên trang mà bạn đang khắc phục sự cố.

Để lấy mã thông báo được cung cấp trong thẻ meta, hãy kiểm tra HTML:

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

Đối với mã thông báo được cung cấp trong tiêu đề, bạn có thể kiểm tra giá trị của mã thông báo từ Bảng điều khiển Mạng Chrome Công cụ cho nhà phát triển trong phần Tiêu đề phản hồi:

Dịch vụ Công cụ của Chrome cho nhà phát triển 
Bảng điều khiển mạng hiển thị tiêu đề phản hồi của bản dùng thử theo nguyên gốc.

Mã thông báo của bên thứ nhất được phân phát từ nguồn gốc sử dụng mã đó

Để bật quyền truy cập vào tính năng dùng thử theo nguyên gốc cho mã có trong trang được phân phát từ máy chủ gốc của bạn, cung cấp mã thông báo dùng thử trong thẻ meta, tiêu đề hoặc qua JavaScript từ cùng một nguồn gốc.

Nguồn gốc đăng ký cho một mã thông báo phải khớp với nguồn gốc phân phát mã thông báo đó.

Nguồn gốc của mã thông báo của bên thứ ba khớp với nguồn gốc của tập lệnh

Bạn có thể đăng ký tham gia dùng thử theo nguyên gốc cho các tập lệnh được chèn vào các nguồn gốc khác.

Ví dụ: nếu bạn muốn các tập lệnh được phân phát từ javascript-library.example tham gia vào bản dùng thử theo nguyên gốc, bạn cần đăng ký một mã thông báo có tính năng so khớp của bên thứ ba cho javascript-library.example.

Bản dùng thử theo nguyên gốc Chrome 
trang đăng ký hiển thị so khớp bên thứ ba đã chọn.

Giá trị nguồn gốc của mã thông báo của bên thứ ba phải khớp với nguồn gốc của tập lệnh chèn mã thông báo đó.

Tập lệnh của bên thứ ba sử dụng mã thông báo của bên thứ ba

Bạn không thể cho phép tập lệnh của bên thứ ba tham gia bản dùng thử theo nguyên gốc trên trang web của mình chỉ bằng cách đăng ký một mã thông báo cho máy chủ gốc của bạn chứ không phải cho tập lệnh.

Tập lệnh của bên thứ ba cần sử dụng mã thông báo đã bật tính năng so khớp của bên thứ ba, được chèn thông qua tập lệnh (không được bao gồm trong thẻ meta hoặc tiêu đề trên trang web của bạn) bằng cách sử dụng mã như sau:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Mã thông báo của bên thứ ba được cung cấp qua tập lệnh bên ngoài, chứ không phải qua thẻ meta, tiêu đề HTTP hoặc tập lệnh cùng dòng

Mã thông báo của bên thứ ba được xác thực dựa trên nguồn gốc của tập lệnh đã chèn các mã đó, nhưng nằm cùng dòng các tập lệnh và thẻ <meta> trong mã đánh dấu tĩnh không có nguồn gốc (tức là URL nguồn).

Tức là mã thông báo của bên thứ ba phải được cung cấp qua tập lệnh bên ngoài, chứ không phải trong thẻ <meta> hoặc cùng dòng. Không quan trọng nếu tập lệnh bên ngoài chèn mã thông báo đến từ cùng nguồn gốc với trang chứa hoặc có nguồn gốc khác, miễn là nguồn gốc của tập lệnh khớp với một máy chủ gốc đã đăng ký dùng thử.

Bạn có thể xem bản minh hoạ về việc này tại ot-iframe-3p.glitch.me.

Hỗ trợ quyền truy cập vào tính năng bản dùng thử theo nguyên gốc cho phương thức dùng để cung cấp mã thông báo dùng thử

Một số loại quyền sử dụng các tính năng của bản dùng thử theo nguyên gốc yêu cầu bạn cung cấp mã dùng thử theo cách cụ thể. Ví dụ: cách duy nhất để cấp quyền truy cập vào bản dùng thử theo nguyên gốc cho trình chạy dịch vụ và trình thực thi dùng chung là cung cấp mã thông báo trong tiêu đề Origin-Trial.

Tính năng so khớp miền con được bật cho một mã thông báo dùng trên miền con

Nếu một tính năng dùng thử theo nguyên gốc có vẻ không hoạt động trên một số trang trên trang web của bạn, hãy kiểm tra để đảm bảo mã thông báo được thiết lập chính xác cho các miền con phân phát chúng.

Khi đăng ký bản dùng thử theo nguyên gốc, bạn có thể tuỳ ý chọn so khớp tất cả các miền con của máy chủ gốc:

Bản dùng thử theo nguyên gốc Chrome 
trang đăng ký hiển thị kết quả phù hợp với miền con đã chọn

Bạn cũng có thể so khớp miền con với mã thông báo của bên thứ ba:

Bản dùng thử theo nguyên gốc Chrome 
trang đăng ký hiển thị so khớp bên thứ ba và so khớp miền con đã chọn

Mã thông báo miền con sẽ không được phát hành cho nguồn gốc trong Danh sách hậu tố công khai. Ví dụ: bạn không thể đăng ký một nguồn gốc như https://appspot.com hoặc https://github.io, mặc dù bạn có thể đăng ký miền trong nguồn gốc đó, chẳng hạn như https://example.appspot.com hoặc https://example.github.io.

Mã thông báo vẫn hợp lệ

Mã thông báo có hiệu lực trong 6 tuần kể từ khi được tạo. Ngoài ra, bạn phải gửi phản hồi để để gia hạn Ngày hết hạn. Hướng dẫn dùng thử theo nguyên gốc dành cho nhà phát triển web giải thích cách đảm bảo mã thông báo của bạn sẽ hợp lệ trong toàn bộ thời gian dùng thử theo nguyên gốc.

Bạn có thể kiểm tra xem có mã thông báo nào còn hiệu lực hay không trên trang Gói đăng ký của tôi của Bản dùng thử theo nguyên gốc của Chrome:

Bản dùng thử theo nguyên gốc Chrome 
Trang Đăng ký của tôi hiển thị Ngày hết hạn hợp lệ

Công cụ của Chrome cho nhà phát triển hiển thị Trạng thái Success nếu mã thông báo vẫn hợp lệ:

Dịch vụ Công cụ của Chrome cho nhà phát triển 
thông tin về các bản dùng thử theo nguyên gốc trong bảng điều khiển Ứng dụng, trong đó Trạng thái: Thành công được làm nổi bật.

Nếu mã thông báo của bạn đã hết hạn, Công cụ cho nhà phát triển sẽ hiển thị trạng thái ExpiredTrang Đăng ký của tôi sẽ hiện phần Mã thông báo đã hết hạn.

Bản dùng thử theo nguyên gốc Chrome 
Trang Đăng ký của tôi cho thấy các mã thông báo đã hết hạn.

Thời gian dùng thử theo nguyên gốc chưa kết thúc

Bạn có thể kiểm tra ngày kết thúc của bản dùng thử theo nguyên gốc trên trang đăng ký của bản dùng thử theo nguyên gốc:

Bản dùng thử theo nguyên gốc của Chrome
trang về Nhóm bên thứ nhất và Thông tin chi tiết về tùy chọn Cùng nhóm có bản dùng thử được làm nổi bật.

Đối với các bản dùng thử đã kết thúc, Công cụ cho nhà phát triển sẽ hiển thị như sau:

Dịch vụ Công cụ của Chrome cho nhà phát triển 
thông tin về bản dùng thử theo nguyên gốc trong bảng điều khiển Application (Ứng dụng) hiển thị validTokenNotProvided và Status Expiration (Trạng thái đã hết hạn)

Tuy nhiên, bạn sẽ được gửi email tự động khi cần có ý kiến phản hồi hoặc khi mã thông báo sắp hết hạn chứ không phải khi thời gian dùng thử kết thúc.

Người dùng hiện tại có thể sử dụng bản dùng thử theo nguyên gốc

Một số người dùng không sử dụng được một số bản dùng thử theo nguyên gốc, ngay cả khi mã thông báo hợp lệ được cung cấp.

Nếu người dùng hiện tại không có gói dùng thử, Công cụ của Chrome cho nhà phát triển sẽ hiển thị cảnh báo TrialNotAllowed:

Thông tin về bản dùng thử theo nguyên gốc Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng hiển thị cảnh báo Dùng thửNotAllowed.

Thông tin về phạm vi cung cấp và giới hạn sử dụng sẽ được cung cấp cho mỗi bản dùng thử theo nguyên gốc.

Giống như mọi tính năng của nền tảng web, bạn nên sử dụng tính năng phát hiện tính năng để xác nhận rằng bạn có hỗ trợ tính năng dùng thử theo nguyên gốc trước khi sử dụng tính năng đó.

Chưa vượt quá giới hạn sử dụng của bản dùng thử theo nguyên gốc

Theo mặc định, tính năng bản dùng thử theo nguyên gốc sẽ được bật trên bất kỳ trang nào có mã thông báo hợp lệ cho bản dùng thử đó.

Tuy nhiên, ngoại trừ một số ít trường hợp, việc sử dụng bản dùng thử theo nguyên gốc giới hạn ở mức tối đa là 0,5% trong tổng số lượt tải trang trên Chrome. Tính năng bản dùng thử theo nguyên gốc sẽ bị tắt nếu tổng mức sử dụng của tất cả người dùng Chrome vượt quá mức đó. Công cụ cho nhà phát triển sẽ hiển thị trạng thái mã thông báo là đã tắt.

Không có giới hạn sử dụng nào cho các bản dùng thử ngừng sử dụng, vì các bản dùng thử này không giới thiệu tính năng mới và do đó không có nguy cơ chiếm tỷ lệ đáng kể của web phụ thuộc vào tính năng dùng thử.

Một số bản dùng thử cũng cho phép giới hạn mức sử dụng, tức là các tính năng dùng thử theo nguyên gốc sẽ tắt đối với một số người dùng. Lựa chọn này có trên trang đăng ký cho một nguồn gốc bản dùng thử cung cấp:

Bản dùng thử theo nguyên gốc Chrome 
trang đăng ký hiển thị các giới hạn sử dụng.

Nếu bạn nhận thấy rằng người dùng có quyền truy cập vào một tính năng của bản dùng thử theo nguyên gốc thấp hơn dự kiến, hãy đảm bảo rằng "Giới hạn chuẩn" được chọn.

Iframe cung cấp mã thông báo riêng

Để cho phép truy cập vào tính năng dùng thử theo nguyên gốc, iframe phải cung cấp mã thông báo trong thẻ meta, một HTTP tiêu đề hoặc theo phương thức lập trình. Iframe không kế thừa quyền truy cập vào các tính năng được bật cho chứa các từ khoá đó.

ot-iframe.glitch.me thể hiện quyền truy cập vào tính năng dùng thử theo nguyên gốc từ một iframe. ot-iframe-3p.glitch.me cung cấp nhiều ví dụ về iframe trên nhiều nguồn gốc.

Chính sách về quyền được định cấu hình chính xác

Một số tính năng của bản dùng thử theo nguyên gốc có thể chịu ảnh hưởng của Permissions-Policy tiêu đề (trước đây được gọi là tiêu đề Feature-Policy). Bạn có thể kiểm tra điều này trong Ý định thử nghiệm đối với tính năng dùng thử hoặc trong tài liệu dành cho nhà phát triển về tính năng này trên web.dev hoặc developer.chrome.com/blog.

Hãy đảm bảo tính năng mà bạn đang cố gắng truy cập không bị Permissions-Policy chặn . Bạn có thể kiểm tra tiêu đề phản hồi trong bảng điều khiển Mạng Công cụ của Chrome cho nhà phát triển và xem danh sách đầy đủ các tính năng được phép trong bảng điều khiển Ứng dụng.

Dịch vụ Công cụ của Chrome cho nhà phát triển 
  Bảng điều khiển ứng dụng, hiển thị Tính năng được cho phép của chính sách về quyền.

Còn Worker thì sao?

Các tính năng dùng thử theo nguyên gốc có thể được cung cấp cho nhân viên dịch vụ, nhân viên dùng chung và nhân viên dùng thử nhân viên. Tuy nhiên, cách duy nhất để cấp quyền truy cập cho trình chạy dịch vụ và trình thực thi dùng chung là cung cấp một mã thông báo trong tiêu đề Origin-Trial.

Nhân viên chuyên trách sẽ kế thừa quyền truy cập vào các tính năng mà tài liệu gốc của họ hỗ trợ.

Mã thông báo được cung cấp trước khi người dùng sử dụng tính năng

Hãy đảm bảo rằng bạn đã cung cấp mã thông báo dùng thử theo nguyên gốc trước khi sử dụng tính năng dùng thử. Ví dụ: nếu trang cung cấp mã thông báo qua JavaScript, hãy đảm bảo đoạn mã đó cung cấp mã thông báo sẽ chạy trước mã cố gắng truy cập tính năng dùng thử.

Bản minh hoạ dùng thử theo nguyên gốc

Tìm hiểu thêm