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地址打 ...
随机推荐
- 【BZOJ4016】【FJOI2014】最短路径树问题
题意: Description 给一个包含n个点,m条边的无向连通图.从顶点1出发,往其余所有点分别走一次并返回. 往某一个点走时,选择总长度最短的路径走.若有多条长度最短的路径,则选择经过的顶点序列 ...
- java 对象 拆箱装箱 编译和反编译的验证
创建对象 package 创建对象的个数; public class main { public static void main(String[] agrs){ Check c1=new Check ...
- 架构思想之CAP原理
由于自己负责后端的设计已经有一段时间,对设计的一些思想和理论有一些理解,但最近被问到什么是CAP时,却一脸懵逼,下来后专门针对CAP架构思想进行了一些专题学习,在这里也将这个概念引入给大家,大家可以有 ...
- docker环境下mysql参数修改
原文:docker环境下mysql参数修改 需要修改log_bin为on,看了好几个博客说都需要删掉容器重新生成,然而并非如此, 我们可以用docker cp 命令将docker的文件"下载 ...
- 解决jquery动态增加元素后children值没有变的问题
html代码如下: <ul id="attr_input_panel"> <li> <div class="attr_input_item& ...
- ubuntu,jdk安装成功后,点击eclipse,提示信息A Java RunTime Environment (JRE) or Java Development Kit (JDK)
A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Ecl ...
- Android——PullToRefresh自动刷新
需求:强制刷新 方法一: PullToRefreshListView本身提供了一个setRefreshing()接口,调用该接口会自动触发下拉刷新的操作(前提是支持下拉刷新).按照一般的操作我们直接在 ...
- 支付宝SDK集成加密库迁移错误问题
最近项目中集成了第三方支付,主要有微信支付和支付宝支付,当然这里我主要想说一下关于集成支付宝支付. 首先从支付宝开发者网站上下载下来了SDK以及DEMO,我们就可以根据DEMO进行分析以及集成.支付宝 ...
- CSS W3SCHOOLS
https://www.w3schools.com/csS/css3_buttons.asp
- <Sicily>Huffman coding
一.题目描述 In computer science and information theory, a Huffman code is an optimal prefix code algorith ...