带有供应商前缀的 API

在 Web 上,新的 API 在实验阶段通常带有供应商前缀。例如,在撰写本文时,AudioContext API 在 Safari 中被称为 webkitAudioContextvendor_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。