Appcan跨域交互
生活随笔
收集整理的這篇文章主要介紹了
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,所以只能用uexWindowuexLog.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
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Appcan跨域交互的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录学习MVC过程,HTML铺助类(二)
- 下一篇: VSTO之旅系列(三):自定义Excel