现在 Apple 的信用卡产品已经推出,我可以通过 Apple Pay 在网上购物获得 2% 的现金返还。不幸的是,我选择的浏览器是 Firefox,它还不支持 Apple Pay。
我想检测检查 Apple Pay 支持的尝试,因此我可以以某种方式提醒自己并切换 Safari 以完成我的购买。根据Apple 的文档,此检查是通过window.ApplePaySession
.
因此,我在扩展中尝试了以下内容:
manifest.json
{
"manifest_version": 2,
"name": "applepay",
"version": "1.0",
"content_scripts": [
{
"matches": [
"*://*/*"
],
"js": [
"applepay.js"
]
}
]
}
applepay.js
window.ApplePaySession = {
canMakePayments: function () {
console.log('canMakePayments');
return Promise.resolve(true);
},
canMakePaymentsWithActiveCard: function () {
console.log('canMakePaymentsWithActiveCard');
Promise.resolve(true);
},
};
我能够进入console.log(window)
并applepay.js
获取整个对象,但我对对象的更改似乎没有生效 - 它的行为就像window
是只读的。我错过了什么?