firefox - Firefox - ReferenceError:PaymentRequest 未定义
问题描述
我正在尝试在网站上实施 google pay。google pay 的外部库是从 pay.google.com 加载的。在这个 google 脚本中,他们调用浏览器 api PaymentRequest()。该 api 内置于 Safari、Chrome 等流行浏览器中。
我有谷歌支付工作,但它不适用于 Firefox。加载外部脚本时,它调用 PaymentRequest 并在控制台中显示以下错误:ReferenceError: PaymentRequest is not defined
链接到谷歌支付脚本 https://pay.google.com/gp/p/js/pay.js
Mozilla Firefox 官方网页声明 PaymentRequest 在安全上下文中受支持。 https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API/Using_the_Payment_Request_API
从我的角度来看,Firefox 不支持 PaymentRequest 并且不起作用。我错过了什么?
解决方案
Google Pay 正在 macOS 上的 Firefox 78.0.1 上为我工作,使用以下方法:https ://jsfiddle.net/fw5t6caL/
是的,它确实在控制台中的以下代码中记录了一个错误:
google.payments.api.UseCanMakePaymentResultFromPayjs && (new PaymentRequest([{
supportedMethods: [
'https://google.com/pay'
]
}
], {
total: {
label: 'Estimated Total Price',
amount: {
currency: 'USD',
value: '10'
}
}
})).canMakePayment().then(function (a) {
return ef = a
}).catch (function () {
return ef = !1
});
...但它确实有效。您可以尝试使用上面链接的 JSFiddle 吗?
此外,作为仅供参考,我们最近发布了一个 React 和 Web 组件来简化 Google Pay 集成过程。考虑使用它作为替代方案,因为它应该更容易集成。
JSFiddle 输出截图:
推荐阅读
- javascript - 为什么我的基于 Promise 的代码处于待处理状态且无法解析?
- python - pandas dataframe - 获取单元格具有特定值的列名列表
- python - 将 Docker 上的 SQL Server 连接到 Python
- security - 跨域保护静态 html 文件
- python - 使用python从xml中提取特定数据
- javascript - 舍入小数位Javascript
- python - 将行之间的单词添加到数组
- angular - 根据从后端返回的数据添加 FormControl 但在 Angular 应用程序中出现两个不同的错误
- firebase - .indexOn 如何与用户和唯一键一起使用?
- angular - 找不到角度规格组件