带有厂商前缀的 API
在 Web 上,新的 API 在处于实验状态时通常带有厂商前缀。例如,在撰写本文时,AudioContext API 在 Safari 中被称为 webkitAudioContext。vendor_prefix 属性指示这些替代名称,如果未定义正常名称,则会使用这些替代名称。
例如,要使用 AudioContext,你可以这样做:
# #![allow(unused_variables)] #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。