IE 上缺少 Paypal In-Context Express Checkout 按钮

Posted

技术标签:

【中文标题】IE 上缺少 Paypal In-Context Express Checkout 按钮【英文标题】:Paypal In-Context Express Checkout button missing on IE 【发布时间】:2015-12-07 01:42:31 【问题描述】:

我已经在一个网站上实现了 Paypal 的 In-Context Express Checkout(html 和 JQuery,没有购物车,没有 CMS 或任何东西),它在 Windows 的 Firefox 和 Chrome 以及 Safari、Firefox、Chrome 和 Opera 上完美运行Mac,但不能在 IE 上运行。

IE 上缺少 Paypal 的“Paypal Checkout”按钮。每个其他浏览器都插入了一个按钮,单击该按钮以“激活”结帐流程,但在 IE 上缺少该按钮,因此未激活结帐流程。

问题仅出现在 Internet Explorer 上。 IE11,使用X-UA-Compatible IE=EDGE

非常感谢任何帮助。

【问题讨论】:

哪个特定版本的 IE 不能使用?你确定那些版本的 IE 的 Quirks Mode 和 Compatibility View 被禁用了吗? 我在 EDGE 模式下使用 IE 11。 @罗马 好的,谢谢,..再检查一下,您在页面中添加的 正确吗? 是的,这就是我正在使用的 DOCTYPE。我检测到的问题是 Paypal 的 checkout.js 应该在我的表单中插入一个带有按钮的跨度,该按钮适用于除 Internet Explorer 之外的所有浏览器。那是提交表单并打开弹出窗口的按钮。如果我在没有按钮的情况下提交表单,它只会重定向而不是打开弹出窗口。 只是为了好玩,如果将其更改为 content="IE=9" 或 content="IE=10" 会怎样? :) 【参考方案1】:

我没有看到您的集成,但我猜您调用window.paypalCheckoutReady 远远晚于脚本被插入页面并运行,这意味着paypalCheckoutReady 事件已经触发。为了缓解这种情况并防止阻止页面加载,脚本标记应位于页面末尾,位于关闭 </body> 标记之前,并添加 async 属性。

【讨论】:

【参考方案2】:

事实证明,通过将 checkout.js 中的 <script> 标签从 <head> 移动到 <body> 之前的 <form> 标签,它可以在 IE 上运行。

【讨论】:

以上是关于IE 上缺少 Paypal In-Context Express Checkout 按钮的主要内容,如果未能解决你的问题,请参考以下文章

Paypal Express Checkout in-context in GWT,在 <form ... action=[?] ...> 中放入啥

In-Context Checkout:没有为发布消息响应错误找到响应处理程序

In-Context Checkout: Uncaught SecurityError: Blocked a frame with origin: checkout.js:4734 throws er

使用 AngularJS 的 Paypal Express 结帐

PayPal 上下文附加功能打开空白弹出窗口

如何在 PayPal Manager 中获取 PayPal 缺少错误代码?