PaymentRequestEvent: openWindow() 方法
注意:此功能僅在 Service Workers 中可用。
openWindow() 方法是 PaymentRequestEvent 介面的一部分,它會在新視窗中開啟指定的 URL,但前提是該 URL 與呼叫頁面具有相同的源。該方法返回一個 Promise,該 Promise 解析後會返回一個指向 WindowClient 的引用。
語法
js
openWindow(url)
引數
url-
要在新視窗中開啟的 URL。它必須與呼叫頁面具有相同的源。
返回值
一個 Promise,該 Promise 解析後會返回一個指向 WindowClient 的引用。
示例
js
self.addEventListener("paymentrequest", async (e) => {
// …
// Retain a promise for future resolution
// Polyfill for PromiseResolver at link below.
resolver = new PromiseResolver();
// Pass a promise that resolves when payment is done.
e.respondWith(resolver.promise);
// Open the checkout page.
try {
// Open the window and preserve the client
client = await e.openWindow(checkoutURL);
if (!client) {
// Reject if the window fails to open
throw new Error("Failed to open window");
}
} catch (err) {
// Reject the promise on failure
resolver.reject(err);
}
});
有關此用法的更多詳細資訊,請參閱 開啟支付處理程式視窗以顯示基於 Web 的支付應用程式前端。
規範
| 規範 |
|---|
| Payment Handler API # dom-paymentrequestevent-openwindow |
瀏覽器相容性
載入中…