首页 文章

移动Safari(iPad)中的Bad PayPal数字商品快速结账体验:弹出式按标签打开

提问于
浏览
4

我一直在我的(HTML5)网络应用程序中实现PayPal Digital Goods Express Checkout以启用'in-app'购买额外的应用内容 . 在我的桌面浏览器(Chrome,Safari,Firefox)中,数字商品流程可以正常运行 . 在该流程中,弹出窗口在某些点打开,例如当用户点击登录按钮或按钮以用他的信用卡付款时(即没有paypal帐户) . 弹出窗口对桌面浏览器没有问题 . 但是,在iPad 2 popup windows are always opened as (new) tabs 上的Mobile Safari中,即使包含宽度,高度等的属性字符串传递给JavaScript window.open()命令也是如此 . 这使得无法实现PayPal数字商品快速结账,并且在桌面浏览器和Mobile Safari中都具有良好的用户体验 . 当Web应用程序在iPad上全屏运行时(使用主屏幕上的图标)打开弹出窗口变得更加成问题(或不可能) .

在试图解决我的问题时,我提出了以下选项,其中没有一个能够带来令人满意的结果:

  • 自定义付款流程 . 当然,这在某种程度上是可能的,但在将用户重定向到强制用户登录PayPal的'incontext'快速结账页面之后,定制就不在我的手中(据我所知) . 例如,我无法自定义登录过程本身并使其在iframe(而不是弹出窗口)中工作 . 如果有一些高级API命令我可以使用服务器端来让用户自己登录到PayPal,使用我自己的(iframed)登录表单,那会很酷,但这似乎太牵强了 .

  • 使弹出窗口在Mobile Safari中按预期工作,最好也是在全屏运行Web应用程序时 . 我认为Mobile Safari打开新窗口作为标签(有其他浏览器可以执行此操作)并不奇怪 . 我认为从JavaScript打开的弹出窗口使用window.open和定义窗口位置和尺寸的属性字符串作为选项卡打开是很奇怪的 . 有没有人知道如何让Mobile Safari正常打开这样的弹出窗口而不需要用户更改某些浏览器设置?

为了证明我的问题(并表明我不是唯一面对它的人,虽然这个网站_2601247知道它;-),用你的iPad转到digitalmagazine.autosport.com,然后点击页面左上角的'Pay with PayPal'按钮 . 单击PayPal iframe中的登录按钮 . 该站点消失,登录页面(应该在弹出窗口中打开以获得'in-app'经验)打开整页 .

我还查看了similar in-app payment systems使用的客户端(JavaScript)技术,但那些(可以理解)也使用弹出窗口 . 因此,我更喜欢上面描述的第二种解决方案 . 那一个也将涉及更少的工作 .

1 回答

相关问题