android支付宝客户端html5网页无法自动关闭问题的解决方法

公司产品使用支付宝移动网页接口支付,当三方商户传入跳转地址,在支付宝页面支付成功后跳转到该地址,如果没传将会自动关闭页面。

测试的时候在ios客户端上面可以,但是在Android客户端上偶尔行偶尔不行。

以前代码:

$(function(){ if('$[code]'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } });

通过查找支付宝网页支付的相关的js api文档,文档中描述当页面加载完后会创建 AlipayJSBridge对象,同时会触发AlipayJSBridgeReady事件。

从这句话中找到了网页在android的支付宝客户端偶尔关闭得了偶尔不行的原因:

可能关闭不了的原因是当执行 AlipayJSBridge.call('closeWebview')操作时,AlipayJSBridge还没有创建,所以无法执行。因此我们需要对AlipayJSBridgeReady事件进行监听。

解决代码:

document.addEventListener('AlipayJSBridgeReady', function () { if('$[code]'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } }, false);

以上代码完美解决了问题,通过测试在android、ios支付宝移动客户端上都能完美自动关闭页面。

时间: 2024-09-22 14:33:03

android支付宝客户端html5网页无法自动关闭问题的解决方法的相关文章

Android编程使WebView支持HTML5 Video全屏播放的解决方法_Android

本文实例讲述了Android编程使WebView支持HTML5 Video全屏播放的解决方法.分享给大家供大家参考,具体如下: 1)需要在AndroidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做,具体如下: a. 如果要声明整个应用都要加速: 复制代码 代码如下: <application ... android:hardwareAccelerated ="tr

Android编程使WebView支持HTML5 Video全屏播放的解决方法

本文实例讲述了Android编程使WebView支持HTML5 Video全屏播放的解决方法.分享给大家供大家参考,具体如下: 1)需要在AndroidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做,具体如下: a. 如果要声明整个应用都要加速: 复制代码 代码如下:<application ... android:hardwareAccelerated ="tru

造成win7系统下IE8打开网页慢的原因和解决方法

  虽然现在有很多第三方优秀的浏览器,但很多用户还是比较钟爱使用windows系统自带的IE浏览器,在win7系统下IE浏览器不仅简洁.而且多选项卡操作是很多用户喜欢的原因之一,不过随着用户在使用IE浏览器的时间增加,会明显的赶快IE浏览器的速度变慢,甚至出现无响应的问题,对于出现该问题是什么原因造成的呢?下面河东软件园为大家收集有造成IE浏览器打开网页慢的集中因素,需要的用户可参看下! win7系统下IE8打开网页慢的原因和解决方法 一.加载项太多 打开IE,工具 管理加载项 禁用或启用更多加

windows7使用IE浏览器打开网页游戏只有白屏解决方法

  windows7使用IE浏览器打开网页游戏只有白屏解决方法           具体步骤如下: 1.打开IE,点击"工具"-"Internet选项"; 2.单击"高级"选项卡,然后单击"重置"; 3.选中"删除个性化设置"复选框,然后单击"重置"按钮; 4.重置后,我们在"高级"选卡下,勾选"使用软件呈现而不使用GPU呈现*"点击应用并确定即可

Word文档网页无法复制保存的解决方法

  无论是学生还是工作的人对查资料都是避无可避的,工作中的一切都需要摸索与学习,有些还需要整理文献资料,对于电脑操作系统中的复制操作都是非常熟悉因为它操作简单方便,无论是左击选中还是使用键盘快捷键,都特别简单,不用一个个打字节省了不少时间.但是win7系统最近对于保存下来的网页,用两种方法均无法复制,一般用户遇到这样的情况只会老老实实打字输入,下面小编就向没有电脑技术基础的用户介绍windows系统Word文档网页被限制无法复制的解决方法. Word文档网页无法复制保存的解决方法 方法一: 1.

asp.net网页嵌套处理,求解决方法

问题描述 asp.net网页嵌套处理,求解决方法 网站的网页被软件嵌套了,需要区分出此类访问网站日记记录的访问信息和浏览器没有区别代码或者实现的想法都可以,语言asp.net 解决方案 应该再讲清楚点,这样根本不知道你在表达什么

Android实现QQ新用户注册界面遇到问题及解决方法_Android

在上篇文章给大家介绍了Android实现QQ登录界面遇到问题及解决方法,本篇文章继续给大家介绍有关android qq界面知识. 先给大家展示下效果图: 问题: 1.下拉列表(因为还没看到这里...) 2.标题栏显示问题 3.按钮的 Enable 设置 以下是代码: 布局 fragment_main(问题1) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools

效果-网页加载速度慢解决方法

问题描述 网页加载速度慢解决方法 < IFRAME marginWidth=0 marginHeight=0 src="http://www.xxy8.com/index.htm" frameBorder=0 width=468 scrolling=no height=60 leftmargin="0" topmargin="0">< /IFRAME> 网页当中有部分内容直接加载速度慢,哪位高手指点一下,想实现部分内容加载

Android Force Close 出现的异常原因分析及解决方法_Android

一.原因: forceclose,意为强行关闭,当前应用程序发生了冲突. NullPointExection(空指针),IndexOutOfBoundsException(下标越界),就连Android API使用的顺序错误也可能导致(比如setContentView()之前进行了findViewById()操作)等等一系列未捕获异常 二.如何避免 如何避免弹出Force Close窗口 ,可以实现Thread.UncaughtExceptionHandler接口的uncaughtExcepti