javascript - Paypal Braintree pop 在 chrome 中被屏蔽

标签 javascript jquery paypal braintree

当从 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);

而如果我直接从控制台调用我的按钮元素单击事件,则弹出窗口会在未经许可的情况下显示。

最佳答案

全面披露:我在 Braintree 工作。如果您还有任何疑问,请随时联系support .

根据 Braintree's docs , initAuthFlow 必须作为用户点击事件的结果同步调用,否则 PayPal 流程弹出窗口将被浏览器自动阻止。您需要将 enablePaypalBtn() 绑定(bind)到用户点击操作。

另外,想提一下 Braintree 有一个更新的 Javascript 库,v3 .可以的话推荐migrating to the newest version .

关于javascript - Paypal Braintree pop 在 chrome 中被屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50095021/

相关文章:

paypal - 沙盒 "Sorry — your last action could not be completed"

Paypal :取消或超时付款

javascript - React-GA 事件在调试控制台中触发,但未显示在 GA 中

javascript - jQuery Slider 不适用于 Android Chrome 浏览器

javascript - 使用 jQuery 停止 CSS 动画?

jQuery 圆形 slider

javascript - 如何替换Mongo中所有文档中的字符串

javascript - Canvas 上下文属性以防止硬件加速渲染?

javascript - 根据输入数据,如果条件为真,则显示按钮

windows - 为什么 PayPal 无法在 WinRT WebView 控件内工作