protocol_handlers
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Member protocol_handlers chỉ định một mảng các đối tượng là những giao thức mà ứng dụng web này có thể đăng ký và xử lý. Protocol handler đăng ký ứng dụng trong các tùy chọn ứng dụng của hệ điều hành; việc đăng ký này gắn một ứng dụng cụ thể với scheme giao thức đã cho. Ví dụ, khi dùng protocol handler mailto:// trên một trang web, các ứng dụng email đã đăng ký sẽ mở ra.
Sau khi đăng ký một ứng dụng web làm protocol handler, khi người dùng nhấp vào một siêu liên kết có scheme cụ thể như mailto:// hoặc web+music:// từ trình duyệt hoặc ứng dụng gốc, PWA đã đăng ký sẽ mở ra và nhận URL.
Giá trị
Đối tượng protocol handler có thể chứa các giá trị sau:
protocolExperimental-
Một chuỗi bắt buộc chứa protocol cần được xử lý; ví dụ:
mailto,ms-word,web+jngl. urlExperimental-
URL HTTPS bắt buộc nằm trong
scopecủa ứng dụng, nơi sẽ xử lý protocol. Token%ssẽ được thay thế bằng URL bắt đầu với scheme của protocol handler. Nếuurllà một URL tương đối, URL cơ sở sẽ là URL của manifest.
Ví dụ
Trong ví dụ này, manifest của ứng dụng web khai báo rằng ứng dụng nên được đăng ký để xử lý các protocol web+jngl và web+jnglstore.
{
"protocol_handlers": [
{
"protocol": "web+jngl",
"url": "/lookup?type=%s"
},
{
"protocol": "web+jnglstore",
"url": "/shop?for=%s"
}
]
}
Nhà phát triển có thể thêm một trường trong manifest.json để khai báo những protocol mà ứng dụng web có thể xử lý. Như thấy trong ví dụ trên, khóa được đặt tên là protocol_handlers và nó chứa một mảng các đối tượng khai báo protocol handler.
Việc đăng ký ứng dụng để xử lý scheme URL phụ thuộc vào hệ điều hành. Sự liên kết này thường được thực hiện trong quá trình cài đặt ứng dụng nhưng cũng có thể được làm sau đó từ một ứng dụng đã cài đặt.
Đặc tả
| Specification |
|---|
| Manifest Incubations> # protocol_handlers-member> |