Paypal Braintree pop 在 chrome 中被阻止
Posted
技术标签:
【中文标题】Paypal Braintree pop 在 chrome 中被阻止【英文标题】:Paypal Braintree pop blocked in chrome 【发布时间】:2018-10-10 05:23:35 【问题描述】:当从 onReady 方法调用时,Paypal Braintree 弹出窗口在 chrome 中被阻止询问权限。
下面是braintree.setup onready函数
onReady: function(integration)
console.log('Braintree is ready');
checkout = integration;
enablePaypalBtn();
下面是按钮代码
<button id="my-button-element" style="visibility:none"></button>
var checkout;
document.querySelector('#my-button-element').addEventListener('click',
function (event)
event.preventDefault();
checkout.paypal.initAuthFlow();
, false);
而如果我直接从控制台弹出窗口调用 my-button-element 单击事件,则会在未经许可的情况下显示。
【问题讨论】:
【参考方案1】:全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系support。
根据Braintree's docs,initAuthFlow
必须作为用户点击事件的结果同步调用,否则 PayPal 流弹出窗口将被浏览器自动阻止。您需要将enablePaypalBtn()
绑定到用户点击操作。
另外,想提一下 Braintree 有一个更新的 javascript 库,v3。如果可以,我推荐migrating to the newest version。
【讨论】:
以上是关于Paypal Braintree pop 在 chrome 中被阻止的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要同时购买 Paypal 和 Braintree 帐户才能进行 Paypal 集成?