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