带有供应商前缀的 API
在 Web 上,新的 API 在实验阶段通常带有供应商前缀。例如,在撰写本文时,AudioContext
API 在 Safari 中被称为 webkitAudioContext
。vendor_prefix
属性指示这些替代名称,如果未定义正常名称,则会使用这些名称。
例如,要使用 AudioContext
,你可能会这样做:
#![allow(unused)] fn main() { #[wasm_bindgen] extern "C" { #[wasm_bindgen(vendor_prefix = webkit)] type AudioContext; // methods on `AudioContext` ... } }
每当使用 AudioContext
时,如果全局命名空间定义了它,它将使用 AudioContext
,否则将回退到 webkitAudioContext
。
请注意,vendor_prefix
不能与 module = "..."
或 js_namespace = ...
一起使用,因此它基本上仅限于今天的 Web 平台 API。