案例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

Appcan跨域交互相关推荐

  1. js跨域交互(jQuery+php)之jsonp使用心得

    jsonp是什么? 说到jsonp,你可能最先想到JSON:它还真和JSON有关系: JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏 ...

  2. js中各种跨域问题实战小结

    什么是跨域?为什么要实现跨域呢? 这是因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.也就是说只能访问同一个域中的资源.我觉得这就有必要了解下javascript中的同源策略 ...

  3. HTML5项目笔记8:使用HTML5 的跨域通信机制进行数据同步

    离线应用系统的设计目标就是在网络离线情况下依然可以操作我们的应用系统,并在网络畅通的情况下与服务器进行数据交互. 所以离线应用系统最终会做成类似C/S架构的客户端应用程序.这边基于Chrome或者 S ...

  4. JS中的跨域问题及解决办法汇总

    一.什么是跨域? 在了解跨域之前,首先要知道什么是同源策略(same-origin policy).简单来讲同源策略就是浏览器为了保证用户信息的安全,防止恶意的网站窃取数据,禁止不同域之间的JS进行交 ...

  5. 深入浅出FE(三)跨域Cross-Origin

    目录 1. 跨域是什么 2. 为什么有跨域 2.1 防止csrf攻击 2.2 防止xss攻击 3. 跨域解决方案? 3.1 jsonp 3.2 "跨域资源共享"(Cross-ori ...

  6. 浏览器同源策略,跨域(跨源)

    参考 https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy http://www.ruanyifeng.co ...

  7. 后端如何解决跨域问题

    对于跨域,相信同学们都有所了解.前端的跨域的若干种方式,大家也都知道,什么 JSONP,iframe+domain 等等.但是我们今天的主题,不是前端跨域,而是后端跨域. 一旦提及到跨域,就会想到同源 ...

  8. 获取子页面iframe的点击事件及iframe跨域的交互

    1.获取子页面iframe的点击事件 1.1.获取iframe var frame = document.getElementById('addrClick2'); 1.2.获取点击事件 var If ...

  9. ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改 ...

最新文章

  1. vue-preview动态获取图片宽高并增加旋转功能
  2. pico8 掌机_使用Pico-8构建自己的复古游戏
  3. 我往手里面植入了一枚芯片,但并没有获得超能力
  4. 逗比学树莓派之GPIO
  5. Pytorch入门-1
  6. ALL-TAG推出RFID墨水防损标签
  7. sql脚本导入sql_学习SQL:SQL脚本
  8. 光储并网直流微电网控制策略及仿真模型
  9. Hexo NexT主题自定义背景图片
  10. 北京的程序猿们,今年过年去哪玩?
  11. 超分算法IPT:Pre-Trained Image Processing Transformer
  12. 全力配合金融改革,尝试期货投资基金
  13. 最凄美的爱情故事,让每对爱人更长久的文章!!
  14. css实现带边框,半透明气泡定位浮层效果
  15. 低代码平台有哪些?值得推荐的低代码公司?
  16. Java网课①--->期末考试试卷
  17. DVWA-不安全的验证码
  18. RxJava 源码解析 —— Observable#defer(...)
  19. 【递归】进制转换、字符串反转、判断回文
  20. 呐,c语言学习你想要的都在这里

热门文章

  1. Android Bitmap面面观
  2. 苏州市计算机音乐学会地点,苏州市音乐家协会小提琴学会成立
  3. android 等待按钮框架,Android 开发 MaterialDialog框架的详解
  4. php好玩的源码_github上比较有趣的PHP开源项目
  5. python输出假分数_分数的表示以及计算(c++)
  6. 计算机毕业论文多久,计算机毕业论文
  7. C++为什么空格无法输出_C 语言 第8章-字符输入/输出和输入验证
  8. matlab中sum函数
  9. matlab中图像读写
  10. 2020-07-02 CVPR2020 VL论文讨论(3) 笔记