微信支付宝支付开发用iframe 嵌套微信授权成功后怎么跳出iframe 嵌套微信授权

微信中使用支付宝支付iframe避开屏蔽,安卓可以正常使用苹果手机不能求解
[问题点数:40分]
本版专家分:0
CSDN今日推荐
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
CSDN今日推荐微信打开支付宝iframe方法被封了,谁有更好的办法_百度知道
微信打开支付宝iframe方法被封了,谁有更好的办法
我有更好的答案
这个情况我也试过呢
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。怎样使得页面的跳转一直在iframe里进行,不会跳出iframe - ITeye问答
我在一个iframe里面设置src为一个share.php,进行分享到QQ操作,share.php会判断是否QQ登陆,如果没有登陆则跳转到login.php,登陆完成后再跳share.php
。QQ登陆和分享都是跨域的。我现在的问题是:QQ没有登陆的情况下,先跳到login.php,这个操作是在iframe里面的;然后跳回share.php时页面会跳出iframe另开一个新窗口进行分享。如果QQ登陆过了,那么分享页面是在iframe里面的。各位大侠,怎么能保证所有操作不跳出iframe啊
问题补充:我发现,我的QQ登录完成后是用header()跳转到share页面的,是不是因为这个跳出了iframe呢?
[b][i][u]引用[list][*][img][*][flash=200,200][url][flash=200,200][*][*][*][*][*][*][*][*][*][*][*][flash=200,200][flash=200,200][url][url][img][list][*][*][list][*][*][*][list][*][*][*][*][b][b][b][b][b][i][i][u][u][u]引用引用引用[/u][/u][/u][/i][/i][/b][/b][/b][/b][/b][*][*][/list][*][*][/list][*][/list][/img][/url][/url][/flash][/flash][*]||||||||||||
||||||||||||||||||||||
||||||||||||||||||||
||||||||||||||||||
||||||||||||||||
||||||||||||||
||||||||||||
||||||||||
||||||||
||||||
||[/flash][/url][/flash]||
|[/img]|
|[/list][/u][/i][/b]|
在iframe里的跳转(a标签) 的 target="_self"& 不能是_blank _top _parent
已解决问题
未解决问题在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
微信内用支付宝支付被屏蔽了url,我在jsp中用iframe,&iframe id="iframe1" src="${redirectURL }" width="100%;" height="100%;" name="main" onload="load()"&&/iframe&支付成功之后无法跳出iframe,如果点继续支付相当于又嵌套了一个iframe,怎么能跳出iframe呢?
将答案转移到问题区域
成功之后iframe页中有个a标签链接
&a href="/"&返回首页&/a&。但是点了这个链接之后还在这个iframe中,我现在就是想不让他在iframe中,我用这种方式&a href="javascript:;" onclick="window.parent.location.href='/'"&返回首页&/a&
依然还是在iframe中,您有部分代码么?万分感谢,我也可以监控跳到这个页的url,但是取到url之后怎么操作呢,怎么能跳出这个iframe呢,微信开发有点小头痛
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
把window(只是有些地方省略了)改成window.parent。如果是不同域的代码还要解决跨域的问题。
window.parent 就是其父窗口/父框架的window对象。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你可以给最后那个点击事件写一个函数,
if(window != top) {
top.location.href = 你要跳转的页面
window.top.location.href = "your redirect url";
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。14:02 提问
webapp在微信中支付问题
用户在微信打开浏览器访问网站,进行支付宝或者微信H5支付,页面提示跳转到浏览器操作。
此后,跳转到浏览器后用户就是非登录状态,还得重新登录支付,这该怎么解决?
按赞数排序
用户注册的时候和微信APPID绑定下,跳到H5的时候,获取下appid参数自动登录
不是应该接支付宝或者微信支付的接口,直接打开app支付吗?为什么要跳到浏览器?你这个想法有问题呀
都知道支付宝支付在不同环境下分好多种,本文介绍的是&手机网页即时到账接口-手机网页即时到账接口&如何接入。至于如何开通支付宝,审核等步骤,请查阅其他文档。本文使用的是其中JAVA版接入。
由于微信“封杀”了支付宝支付,支付宝给出了&关于微信公众平台无法使用支付宝收付款的解决方案说明&解决方案,本文介绍如何接入。
文档中,主要有用的是2个文件pay.html、ap.js.另外两个demo_get.htm,demo_post.htm是测试用例。
接入参考demo_get.htm,主要遇到的问题:
1.代码pay.htm有小错误
2.引入路径问题
3.如何引入ap.js和参数加引号
4.URLEncoder
1.代码pay.htm有错:
第四行修改为
2.引入路径问题:
如果是使用的JAVA版接入微信,且使用JSP方式生成自动submit的表单内容。那么请在JSP存放的路径拷贝进去pay.html、ap.js两个文件。
3.如何引入ap.js和参数加引号:
如何引入ap.js
[java] view plain copy
* 建立请求,以表单HTML形式构造(默认)
* @paramALIPAY_GATEWAY_NEW 支付宝网关地址
* @param sParaTemp 请求参数数组
* @param strMethod 提交方式。两个值可选:post、get
* @param strButtonName 确认按钮显示文字
* @return 提交表单HTML文本
public static String buildRequest(String ALIPAY_GATEWAY_NEW, Map sParaTemp, String strMethod, String strButtonName) {
//待请求参数数组
Map sPara = buildRequestPara(sParaTemp);
List keys = new ArrayList(sPara.keySet());
StringBuffer sbHtml = new StringBuffer();
//添加微信 兼容性
sbHtml.append("&script type='text/javascript' src='ap.js'&&/script&");
sbHtml.append("&form id=\"alipaysubmit\" name=\"alipaysubmit\" action=\"" + ALIPAY_GATEWAY_NEW
+ "_input_charset=" + AlipayConfig.input_charset + "\" method=\"" + strMethod
for (int i = 0; i & keys.size(); i++) {
String name = (String) keys.get(i);
String value = (String) sPara.get(name);
sbHtml.append("&input type=\"hidden\" name=\"" + name + "\" value=\"" + value + "\"/&");
//submit按钮控件请不要含有name属性
sbHtml.append("&input type=\"submit\" value=\"" + strButtonName + "\" style=\"display:\" onclick=\"sendTo()\"&&/form&");
String prestr = createLinkStr(sPara);
String str = ALIPAY_GATEWAY_NEW +
sbHtml.append("&script&function sendTo(){"
+ "_AP.pay(\""+ str +"\");"
+ "};sendTo();&/script&");
sbHtml.append("");
sbHtml.append("document.forms['alipaysubmit'].submit();");*/
return sbHtml.toString();
public static String createLinkStr(Map&String, String& params) {
List&String& keys = new ArrayList&String&(params.keySet());
Collections.sort(keys);
String prestr = "";
for (int i = 0; i & keys.size(); i++) {
String key = keys.get(i);
String value = params.get(key);
value = URLEncoder.encode(value, AlipayConfig.input_charset);
} catch (UnsupportedEncodingException e) {
if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
prestr = prestr + key + "=" +
prestr = prestr + key + "=" + value + "&";
+ "_AP.pay(\""+ str +"\");" 中 str 变量两侧要有 \" ,不光是str变量要是字符串,还要用引号包起来。
4.URLEncoder
createLinkStr方法是拼装字符串的作用,拼装的同时,要为每个value都进行URLEncoder.encode
使用的iframe,腾讯并没有屏蔽数据传输层。只是屏蔽了当前URL。
用户跳转前把appId及登录标识 传进页面的变量,跳转后根据appid判定是否登录
可以去找下集成好的支付平台
跳转前把appId及登录标识 传进页面的变量,跳转后根据appid判定是否登录
微信服务器不会向客户端发送cookie,所以session会失效,你的登录就会出问题,所以session和微信支付不能直接用session来做,要处理一下
我在微信里面的H5中实现支付宝支付的方式如下:
1、在H5界面提供了支付宝支付的方式
2、当使用支付宝支付,点击提交的时候,使用支付宝提供的pay.htm和ap.js进行跳转(get方式)
3、get方式是自己拼接的url
_AP.pay(ApiConf.server +
"OnlinePayment/onlinePay?token=" + ApiConf.token +
"&payType=" + payType +
"&totalAmount=" + totalAmount +
"&body=" + body);
4、在后台通过token校验以及是哪个用户进行支付
5、调用支付宝SDK生成支付表单
6、通过浏览器或者支付宝App支付
7、回调进入支付成功的界面(失去连接),需要重新登录
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 微信公众号 iframe 的文章

 

随机推荐