美文网首页
微信H5支付在chrome浏览器调不起来

微信H5支付在chrome浏览器调不起来

作者: 农田蚂蚁 | 来源:发表于2018-12-19 11:22 被阅读0次

项目中有使用到微信H5支付的模块,但在有些手机的Webview调不起微信支付,我猜想这应该是跟浏览器内核有关,所以就研究了一下微信H5支付兼容的问题。

新版本的浏览器会提示

I/chromium: [INFO:CONSOLE(64)] "Unsafe JavaScript attempt to initiate navigation for frame with URL 'http://xxx.com' from frame with URL 'https://wx.tenpay.com/xxxxxx'. The frame attempting navigation is targeting its top-level window, but is neither same-origin with its target nor has it received a user gesture.

I/chromium: [INFO:CONSOLE(64)] "Uncaught SecurityError: Failed to set the 'href' property on 'Location': The current window does not have permission to navigate the target frame to 'weixin://wap/pay?prepayid=1234'.", source: 'https://wx.tenpay.com/xxxxxx'

大概意思是:浏览器监测到了iframe中存在不安全的链接正在尝试进行导航。
iframe默认情况下:

在html5页面中,可以使用iframe的sandbox属性,<iframe src="https://wx.tenpay.com?prepay_id=11111">如果未添加sandbox属性,或者添加了sandbox但是后面不加任何值,就代表采用默认的安全策略,即:iframe的页面将会被当做一个独自的源,同时不能提交表单,以及执行javascript脚本,也不能让包含iframe的父页面导航到其他地方,所有的插件,如flash,applet等也全部不能起作用。简单说iframe就只剩下一个展示的功能,正如他的名字一样,所有的内容都被放入了一个单独的沙盒。

sandbox包含的属性及作用:

allow-forms 允许进行提交表单
allow-scripts 运行执行脚本
allow-same-origin 允许同域请求,比如ajax,storage
allow-top-navigation 允许iframe能够主导window.top进行页面跳转
allow-popups 允许iframe中弹出新窗口,比如,window.open,target=”_blank”
allow-pointer-lock 在iframe中可以锁定鼠标,主要和鼠标锁定有关

在iframe加上这个代码之后sandbox="allow-scripts allow-top-navigation allow-same-origin",刷新页面再测,就可以正常跳转了

相关文章

  • 微信H5支付在chrome浏览器调不起来

    项目中有使用到微信H5支付的模块,但在有些手机的Webview调不起微信支付,我猜想这应该是跟浏览器内核有关,所以...

  • 微信H5支付

    H5支付主要用于手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。H5支付与JSAPI支付不同的是...

  • android微信H5支付

    微信除了微信sdk支付还有的就是h5支付,h5支付可以让你再非微信浏览器上进行支付的动作.支付的前提我就不详细的说...

  • 微信扫码支付长链接实现异步通知前端

    微信支付分为:h5支付(微信外部浏览器,如:QQ浏览器,360等),公众号支付(微信内部),小程序支付,扫码支付(...

  • iOS H5页面跳转微信、支付宝记录

    与第三方H5联调跳转微信与支付宝遇到的问题 需求:支持当前APP从H5支付页面调起微信或支付宝 问题1:无法唤起支...

  • 微信支付

    微信支付包括微信H5支付和微信公众号支付 微信H5支付 官方api:https://pay.weixin.qq.c...

  • 微信h5支付流程图

    一、H5页面在app环境中做微信支付 二、h5页面在浏览器环境中做h5支付

  • 自己的APP内无法H5支付

    参考链接:问题:自己的APP里面H5支付无法唤起微信以及回调如何处理流程:app -> 微信客户端->支付结果->...

  • Android端 支付宝&微信H5支付调用

    一、支付宝H5支付调用 支付宝H5支付官方开发文档 代码示例: 二、微信H5支付调用 微信H5支付官方开发文档 代...

  • vue实现webapp支付

    最近在使用vue写webapp,app中要求可以实现线上支付,研究了微信H5支付与支付宝H5支付。其中微信H5支付...

网友评论

      本文标题:微信H5支付在chrome浏览器调不起来

      本文链接:https://www.haomeiwen.com/subject/lzbckqtx.html