apiCloud如何打开新页面的同时,关掉当前页
方法很多,只要不同时open、close都可行。给你一个简单的方式:
api.addEventListener({
name:'viewdisappear'
},function(){
api.closeWin({
name:api.winName
});
});
谢谢官方提供的方案,棒棒的!
使用场景,选择好友加入群组!
群生成之后,关闭选择页面!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
<title>title</title>
<link rel="stylesheet" type="text/css" href="api.css"/>
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css"/>
<style>
body{
}
</style>
</head>
<body style="background: #eae6e6;">
<header class="aui-bar aui-bar-nav aui-margin-b-15" id="aui-header">
<a class="aui-pull-left aui-btn" tapmode onclick="closeWin()">
<span class="aui-iconfont aui-icon-left"></span>取消
</a>
<div class="aui-title">选择朋友</div>
<a class="aui-pull-right aui-btn">
<span class="aui-iconfont" style="color:#3F8A2C;" onclick="confirmChooseEvent();">确定</span>
</a>
</header>
</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/config.js"></script>
<script type="text/javascript" src="../script/jquery.min.js"></script>
<script type="text/javascript" src="../script/message_common.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript">
apiready = function () {
fix_status_bar();
var header_height = $api.dom("header").offsetHeight;
api.openFrame({
name: 'message_choose_friends_frm',
url: 'message_choose_friends_frm.html',
rect: {
x: 0,
y: header_height,
w:'auto', //宽度,若传'auto',页面从x位置开始自动充满父页面宽度
h:api.winHeight - header_height //高度,若传'auto',页面从y位置开始自动充满父页面高度
},
bgColor:'rgba(0,0,0,0)',
bounces:false,
vScrollBarEnabled:false,
hScrollBarEnabled:false
});
// 监听页面消失的时候,关掉页面就可以了
api.addEventListener({
name:'viewdisappear'
},function(){
api.closeWin();
});
}
function confirmChooseEvent() {
api.sendEvent({
name: 'confirmChooseEvent',
extra: {
}
});
}
</script>
</html>
frm页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0">
<title>选择朋友</title>
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css"/>
<link rel="stylesheet" href="../css/message_style.css">
<style>
.s_mapul {
position: absolute;
top: 0;
left: 0;
width: 100%;
max-height: 350px;
overflow: scroll;
background: #fff;
overflow-y: auto;
}
.s_mapul li {
border-bottom: 1px solid #ededed;
padding: 0.3rem 5%;
position: relative;
}
.s_mapul li h2 {
font-size: 0.8rem;
}
.s_mapul li h2 img {
position: absolute;
right: 5%;
height: 1rem;
}
.s_mapul li p {
font-size: 0.6rem;
color: #b0b0b0;
margin-top: 0.2rem;
}
</style>
</head>
<body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/message_common.js"></script>
<script type="text/javascript" src="../script/config.js"></script>
<script type="text/javascript" src="../script/doT.min.js"></script>
<script type="text/javascript" src="../script/jquery.min.js"></script>
<script type="text/javascript" src="../script/convertPinyin.js"></script>
<script>
var user;
var UIListCheck;
apiready = function () {
fix_status_bar();
user = $api.getStorage('user');
// 监听页面关闭
api.addEventListener({
name: 'confirmChooseEvent'
}, function (ret, err) {
getSelectedSync();
});
api.ajax({
url: BASE_URL_ACTION+'/RongCloud/GetFriends',
method: 'post',
data: {
values: {
customerId: user.person_id,
}
}
}, function (json, err) {
if (json.result) {
dealFriendsData(json.info,function(contacts) {
UIListCheck = api.require('UIListCheck');
UIListCheck.open({
rect: {
x: 0,
y: 22,
w: api.frameWidth,
h: api.frameHeight - 22
},
contacts: contacts,
fixedOn: 'message_choose_friends_frm'
}, function (ret) {
if (ret) {
}
});
});
} else {
toast('获取好友数据失败');
}
});
}
function dealFriendsData(data,callback) {
var contacts = [];
for (var i=0;i<data.length;i++) {
var item = {};
item.employee_id = data[i].Id;
item.remark = data[i].NickName;
item.position = "";
item.phonetic = convertPinyin(data[i].NickName);
contacts[i] = item;
}
if (typeof callback == 'function') {
callback(contacts);
}
}
function getSelectedSync() {
var ret = UIListCheck.getSelectedSync();
var contacts = ret.contacts;
if (contacts.length == 0) {
toast('请选择好友');
return;
}
var values = {
systemName : 'yunlutong',
customerId : user.person_id
}
for(var i = 0;i<contacts.length;i++) {
var key='contactIds['+i+']';
values[key]= contacts[i].employee_id;
}
api.ajax({
url : BASE_URL_ACTION+'/RongCloud/AddGroup',
method : 'post',
data : {
values : values
}
}, function(json, err) {
if (json.result) {
toast('创建成功');
setTimeout(openChatPage('',json.groupid,0,'群聊','GROUP','index',''),500);
// 本来想在这里处理的,发现不管用
} else {
toast('创建失败');
}
});
}
</script>
</body>
</html>
apiCloud如何打开新页面的同时,关掉当前页的更多相关文章
- iOS如何用代码控制以不同屏幕方向打开新页面?
转载:http://blogread.cn/it/article/7765?f=wb#original 代码示例:https://github.com/johnlui/Swift-On-iOS/tre ...
- JavaScript关闭窗口的同时打开新页面的方法
做网页的时候需要弹出一个小窗口,然后要实现一个功能就是鼠标点击超链接关闭小窗口并打开一个新页面,就如同下图: 这是一个小窗口,点击超链接这个窗口会关闭并且会正常在浏览器打开新页面,首先写js关闭窗口的 ...
- js打开新页面 关闭当前页 关闭父页面
js打开新页面.关闭当前页.关闭父页面 2010-04-29 14:04:13| 分类: 页面与JavaScript | 标签: |字号大中小 订阅 //关闭当前页面,并且打开新页面,(不 ...
- DTcms手机版使用余额支付 提示信息跳转到PC版的错误。以及提交订单不打开新页面
手机版使用余额支付 提示信息跳转到PC版的错误 引起错误的原因是中间需要提交到DTcms.Web\api\payment\balance\index.aspx去处理 导致BasePage.cs中的li ...
- js 打开新页面 window.open()
利用js打开一个新页面,而不是一个新窗口. 在网上各种东西啊,蛋疼了半天,还白疼了.. 后来看到a标签有target属性,然后又发现window.open()的第二个参数是target,然后我笑了(e ...
- Web设计中打开新页面或页面跳转的方法 js跳转页面
Web设计中打开新页面或页面跳转的方法 一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx ...
- ASP.NET 后台打开新页面
[TOC] Response.Write 这是最常见的后台打开新页面的方法. Response.Write("<script>window.open('~/FileView.as ...
- 点击iframe窗口里的超链接,打开新页面的方式
点击iframe窗口里的超链接打开新页面的方式: a标签中设置按钮点击事件,事件调用的方法使用如下方法跳转链接: window.open('url链接', '_blank');
- Web设计中打开新页面或页面跳转的方法
一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...
随机推荐
- 在学校机房联想硬盘保护下安装Linux,并配置锐捷客户端
最近几天一直在机房里刷题,空调开着非常舒服.但是机房电脑里全是windows系统,不太好用,挺膈应人的. 一直打算换个系统,刚才终于搞定网络问题了,以后用电脑就可以爽到了. 联想硬盘保护系统下u盘安装 ...
- window安装特定补丁(勒索病毒)
最近出现震惊的蠕虫病毒(勒索病毒),微软也做出相应的安全补丁来修复 MS17-010.这时有些同学不想打开电脑 的自动更新,这样会下载大量补丁,要更新完这些补丁要好几个小时,为了不影响正常工作,我们就 ...
- Android 开发者不得不面对的六个问题
一份关于移动应用开发的调查报告显示,Androdid开发者对谷歌的移动操作系统平台的兴趣正在下降.尽管依然有79%的开发者表示对Android “非常感兴趣”,但调查报告显示,一些迹象表明在2012到 ...
- Android实战简易教程-第二十八枪(Uri转String型实例)
接上一篇文章.我们能够轻易的获取所选图片的uri,那么我们考虑怎样将获取的uri转换成String型的地址呢? 接下来我们通过实例来研究.布局文件和上篇(二十七枪)一致,我们就不再列出,直接看Main ...
- wsimport 使用方法具体解释
wsimport 使用方法 本文主要介绍wsimport的简单使用方法.帮助大家在webserviceclient开发过程中生成接口代码: 打开java JDK文件夹我们会看到wsimport工具,这 ...
- JS 去除字符串中的最后一个字符
var str = 'Hello World!'; str = str.substr(0,str.length-1); alert(str);
- 转:app store 注册账号生成证书上传app完整的教程
app store为开发者提供四种类型的申请: 个人ios开发者计划$99/年 公司ios开发者计划$99/年 企业ios开发者计划$299/年 高校ios开发者计划免费 在这里主要介绍一下公司ios ...
- 1.Swift教程翻译系列——关于Swift
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 我本来是做JAVA的.可是有一颗折腾的心,苹果公布Swift以后就下载了苹果的开 ...
- mvc中使用remote属性来做ajax验证
mvc中使用remote属性来做ajax验证比較easy : [Remote("Action", "Controller", AdditionalFields ...
- java9新特性-7-语法改进:接口的私有方法
1.官方Feature 213: Milling Project Coin Support for private methods in interfaces was briefly in consi ...