Appcan跨域交互


案例1,sina微博登录,没有插件,因此采用web方式,我首先打开 https://api.weibo.com/oauth2/authorize……,然后我想增加
一个取消按钮:

1 首先打开sina

appcan.frame.open(
			{
				id:"loginsina", 
				name:"loginsina", 
				url:url,
				left:0, 
				top: 0,
				change:function(index,res){
				
				}
			}
		);        
		
		sinaInt = setInterval('addSinaCloser()', 500);//检测sina加载并增加按钮

2 检测sina加载并增加按钮:

function addSinaCloser(){
	try{
		if(openingSina++>=30){
			clearInterval(sinaInt);
			clearTimeout(chkSinaTo);
			appcan.frame.close({name:"loginsina"});
			Alert('操作超时,请检查网络后重试','网络错误');
			rm();
			return;
		}
		msg('加载中('+openingSina+')……');
		logc("Try addSinaCloser");
		var js='uexLog.sendLog("addSinaCloser ing ... ");if(!document.getElementById("myCloser")){var o = document.createElement("div");o.id="myCloser";\
o.innerHTML = \'<div class="btns login_btn" style="background-color: #eee;"><a href="#" node-type="submit" action-type="submit" tabindex="6" class="btnP" style="background-color: transparent; background-image: none; border: 0 none; text-align: center; width: 6.5em;box-shadow:none;color:#f00" οnclick="uexWindow.close(-1, 500);">取    消</a></div>\';\
o.className = \'btns login_btn\';\
var node=document.getElementById("outer").firstChild;\
document.getElementById("outer").insertBefore(o, node);\
uexWindow.evaluatePopoverScript("root","content_login","callBySinaPage();");\
}'; 

		exeFrameJs(js, 'loginsina');
		//appcan.frame.evaluateScript('content_login','content_login',js);
	}catch(e){
		alert("f1 e:"+e)
	}
}

 

接着sina跳回到我的网站上的sina.php,处理成功后,回掉本地 处理函数:

<script>
try{
	window.uexOnload = function(){//因为没有引入appcan.js,所以只能用uexWindow
		uexLog.sendLog("logined , log from sina.php");
		uexWindow.evaluatePopoverScript('', 'content_login', 'loginBack(<?php echo json_encode($data); ?>)');
		setTimeout('uexWindow.close(15,500);', 500);
	}
	
	//uexLog.sendLog("logined , log from sina.php"); ;
}catch(e){
	alert(e)
}
</script>


 

 

 

转载于:https://www.cnblogs.com/lein317/p/5067522.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值