上下文快速结账中PayPal的IE问题

上下文快速结账中PayPal的IE问题,paypal,paypal-sandbox,Paypal,Paypal Sandbox,我正在实现PayPal在文档中指定的用于快速签出的上下文流。在Firefox、Chrome和Opera中,一切都按预期运行。然而,IE给了我一些问题 当我点击“与PayPal结帐”图像时,页面变暗,模式窗口在其上方打开,进入PayPal的登录/注册页面。但就在页面加载到模式窗口之前,它后面的页面再次变为白色,允许用户与它进行不应该进行的交互。我仍然能够在模式窗口中完成登录和其他操作,但是它后面的页面是活动的 第二个问题涉及重定向。在IE中,模式窗口在单击“继续”按钮后不会消失,该按钮会重定向到我

我正在实现PayPal在文档中指定的用于快速签出的上下文流。在Firefox、Chrome和Opera中,一切都按预期运行。然而,IE给了我一些问题

当我点击“与PayPal结帐”图像时,页面变暗,模式窗口在其上方打开,进入PayPal的登录/注册页面。但就在页面加载到模式窗口之前,它后面的页面再次变为白色,允许用户与它进行不应该进行的交互。我仍然能够在模式窗口中完成登录和其他操作,但是它后面的页面是活动的

第二个问题涉及重定向。在IE中,模式窗口在单击“继续”按钮后不会消失,该按钮会重定向到我的服务器上的指定url。重定向发生得很好;它并没有像应该的那样发生在主窗口中,而是发生在模式窗口中。简单地说,按下“继续”按钮后发生的一切都发生在模式窗口中,不再与主窗口交互

同样,所有东西都可以在其他浏览器中工作(我还没有在Safari中测试过),但是IE(v.11)没有正常工作。有人能给我指出正确的方向吗


谢谢

当我使用自定义按钮图像时,我在IE/Firefox上也遇到了类似的问题。 为了克服这个问题,我只需删除button变量,让javasript生成自己的按钮

window.paypalCheckoutReady = function() {
            paypal.checkout.setup('S4X5XW328WAYY', {
                container: 'myContainer', 
                environment: 'sandbox'
                // button: 'incontext_id'//commented

            });

演示和PHP示例代码

在使用自定义按钮图像时,我也遇到了与IE/Firefox类似的问题。 为了克服这个问题,我只需删除button变量,让javasript生成自己的按钮

window.paypalCheckoutReady = function() {
            paypal.checkout.setup('S4X5XW328WAYY', {
                container: 'myContainer', 
                environment: 'sandbox'
                // button: 'incontext_id'//commented

            });


演示和PHP示例代码

无法在我的实现(IE)中重现该问题。IE特有的(阻止)脚本错误?@EdSF我找不到。不管怎样,我试着像PayPal文档所说的那样在我的网页中添加head元素。那也没用。我会继续测试,如果我发现了什么,我会告诉你。你在什么地方(比如测试站点)有吗?@EdSF不幸的是,没有。这是我的家用计算机上的一个测试站点,由VS 2013社区和ASP.NET网页构建。我发现,当我添加OneError回调时,这个问题会发生在我身上,当我删除OneError回调时,它就会消失。IE似乎是OneError回调导致此问题的唯一浏览器。无法在我的实现(IE)中重现此问题。IE特有的(阻止)脚本错误?@EdSF我找不到。不管怎样,我试着像PayPal文档所说的那样在我的网页中添加head元素。那也没用。我会继续测试,如果我发现了什么,我会告诉你。你在什么地方(比如测试站点)有吗?@EdSF不幸的是,没有。这是我的家用计算机上的一个测试站点,由VS 2013社区和ASP.NET网页构建。我发现,当我添加OneError回调时,这个问题会发生在我身上,当我删除OneError回调时,它就会消失。IE似乎是OneError回调导致此问题的唯一浏览器。我也没有使用button参数,问题仍然只存在于IE(v.11)中,但您的演示程序按预期工作。您的代码和我的代码(在查看演示页面的源代码之后)之间的唯一区别是,我将容器参数设置为链接而不是表单。另外,checkout.js是在我的代码中从PayPal检索的,而不是从我的服务器加载的。我将进行一些更改,并让您知道它们是否有效。更改代码以反映上面给出的示例没有任何效果。IE 11仍然不起作用。作为一个快速修复,我想我会将IE设置为通过正常流程,而其他浏览器则获得上下文流程。@Simon_Weaver,不幸的是,没有。@Dude Dastic在我写这篇文章时,我仍在努力学习基础知识,但最终(经过更多的努力)我几乎遇到了相反的问题。生成的按钮(在我的UI中完全没有意义)正在生成,但只有第一个按钮可以工作。我真的想要定制的按钮,我可以使任何大小。我从来没有用奇怪的覆盖层来解决实际OP的问题。我最终成功地使用了
按钮:['payPal1','payPal2']
在我的网站上,我连接了事件,经过一天的愤怒之后,我终于成功地完成了所有工作。我还在考虑制作一个视频教程,在那里我一路发誓——上下文API和文档中的PayPal令人震惊,你必须是一名侦探而不是一名程序员才能弄明白这一切。如果切换到in-contextI的任何特定浏览器的销售额较低,我也没有使用button参数,而且问题仍然只存在于IE(v.11)中,但您的演示程序仍按预期工作。您的代码和我的代码(在查看演示页面的源代码之后)之间的唯一区别是,我将容器参数设置为链接而不是表单。另外,checkout.js是在我的代码中从PayPal检索的,而不是从我的服务器加载的。我将进行一些更改,并让您知道它们是否有效。更改代码以反映上面给出的示例没有任何效果。IE 11仍然不起作用。作为一个快速修复,我想我会将IE设置为通过正常流程,而其他浏览器则获得上下文流程。@Simon_Weaver,不幸的是,没有。@Dude Dastic在我写这篇文章时,我仍在努力学习基础知识,但最终(经过更多的努力)我几乎遇到了相反的问题。生成的按钮(在我的UI中完全没有意义)正在生成,但只有第一个按钮可以工作。我真的想要定制的按钮,我可以使任何大小。我从来没有用奇怪的覆盖层来解决实际OP的问题。最后,我在我的网站上成功地使用了
按钮:['payPal1','payPal2']
,将事件连接起来,经过一天的愤怒之后,我终于成功地完成了这一切