【问题标题】:Trigger paypal onCancel event (OR Close the paypal popup)触发贝宝 onCancel 事件(或关闭贝宝弹出窗口)
【发布时间】:2019-03-31 11:29:49
【问题描述】:

我正在使用 paypal 结帐按钮在我的网站上购物。到目前为止一切顺利,但我偶然发现了一件事。 我想在某些情况下触发 onCancel 事件。有没有办法做到这一点。就像我们在 jquery 中做的那样 $("#someelement").trigger('click');

如果那不可能,那么如果窗口/选项卡发生变化,是否有办法关闭该弹出窗口。

这是我正在使用的文档https://developer.paypal.com/docs/checkout/

【问题讨论】:

  • 当有人访问 PayPal 的网站然后单击“取消”按钮时,PayPal 的 onCancel 事件会触发 - 我不确定是否(或者如何,甚至为什么你想要......)你可以控制它。
  • @CFPSupport 不,它不会访问他们的网站。它留在我的,然后打开一个弹出窗口。我想知道如何关闭该弹出窗口
  • OK.... - 我想我应该更清楚 - - - 弹出窗口来自 PayPal 的网站...... - 当一个人点击“取消”时(并且 PayPal 关闭弹出窗口),事件在您的网站上触发(在您的 JS 中).....我认为如果您告诉自己为什么要关闭它会有所帮助(因为我相信您将无法关闭其他网站控制的东西...) - 也许有更好的方法来做你想做的事情。

标签: javascript jquery paypal


【解决方案1】:

正如 CFP 支持所指出的,弹出窗口位于 PayPal 上,因此我们无法控制。但是有一个小技巧。实际上,“Pay with PayPal”是我们网站上一些 js 的结果。特别是这段代码。

paypal.Button.render( settings, '#paypal-button');

它的作用是在#paypal-button div(或您正在使用的任何元素)中放置一个 iframe。 POPUP 也通过该 iframe 触发。因此,如果您想删除它,请删除#paypal-button 的内容。这实际上会删除带有弹出窗口的 iframe。

$('#paypal-button').html('')

现在的问题是,它还会删除使用 Paypal 支付按钮。所以你要纠正一些逻辑(取决于你的场景)来重新渲染它。

paypal.Button.render( settings, '#paypal-button');

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2021-03-27
    • 1970-01-01
    • 2023-04-04
    • 2011-07-25
    • 2012-11-17
    • 2011-02-21
    • 2013-07-07
    • 2013-10-12
    • 2013-01-13
    相关资源
    最近更新 更多