gpt4 book ai didi

firefox-addon-webextensions - 获取 Firefox 插件来检测和模仿检查 Apple Pay 支持的尝试

转载 作者:行者123 更新时间:2023-12-03 23:10:56 28 4
gpt4 key购买 nike

现在 Apple 的信用卡服务已经结束,我可以在使用 Apple Pay 在网上购物时获得 2% 的现金返还。不幸的是,我选择的浏览器是 Firefox,它尚不支持 Apple Pay。

我想检测是否尝试检查 Apple Pay 支持,以便我可以以某种方式提醒自己并切换 Safari 以完成我的购买。每 Apple's docs ,此检查通过 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是只读的。我错过了什么?

最佳答案

在 Firefox 中,内容脚本(用 WebExtensions 编写的插件)与页面脚本(网站脚本)不共享相同的上下文。

在您的内容脚本中,执行类似以下操作:

function notify(message) {
console.log("do something");
}

exportFunction(notify, window, {defineAs:'notify'});

之后,页面脚本会看到 window.notify 存在。

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts

关于firefox-addon-webextensions - 获取 Firefox 插件来检测和模仿检查 Apple Pay 支持的尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57557939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com