方法很多,只要不同时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如何打开新页面的同时,关掉当前页的更多相关文章

  1. iOS如何用代码控制以不同屏幕方向打开新页面?

    转载:http://blogread.cn/it/article/7765?f=wb#original 代码示例:https://github.com/johnlui/Swift-On-iOS/tre ...

  2. JavaScript关闭窗口的同时打开新页面的方法

    做网页的时候需要弹出一个小窗口,然后要实现一个功能就是鼠标点击超链接关闭小窗口并打开一个新页面,就如同下图: 这是一个小窗口,点击超链接这个窗口会关闭并且会正常在浏览器打开新页面,首先写js关闭窗口的 ...

  3. js打开新页面 关闭当前页 关闭父页面

    js打开新页面.关闭当前页.关闭父页面 2010-04-29 14:04:13|  分类: 页面与JavaScript |  标签: |字号大中小 订阅     //关闭当前页面,并且打开新页面,(不 ...

  4. DTcms手机版使用余额支付 提示信息跳转到PC版的错误。以及提交订单不打开新页面

    手机版使用余额支付 提示信息跳转到PC版的错误 引起错误的原因是中间需要提交到DTcms.Web\api\payment\balance\index.aspx去处理 导致BasePage.cs中的li ...

  5. js 打开新页面 window.open()

    利用js打开一个新页面,而不是一个新窗口. 在网上各种东西啊,蛋疼了半天,还白疼了.. 后来看到a标签有target属性,然后又发现window.open()的第二个参数是target,然后我笑了(e ...

  6. Web设计中打开新页面或页面跳转的方法 js跳转页面

    Web设计中打开新页面或页面跳转的方法 一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx ...

  7. ASP.NET 后台打开新页面

    [TOC] Response.Write 这是最常见的后台打开新页面的方法. Response.Write("<script>window.open('~/FileView.as ...

  8. 点击iframe窗口里的超链接,打开新页面的方式

    点击iframe窗口里的超链接打开新页面的方式: a标签中设置按钮点击事件,事件调用的方法使用如下方法跳转链接:  window.open('url链接', '_blank');

  9. Web设计中打开新页面或页面跳转的方法

    一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...

随机推荐

  1. 由Request Method:OPTIONS初窥CORS(转)

    刚接触前端的时候,以为HTTP的Request Method只有GET与POST两种,后来才了解到,原来还有HEAD.PUT.DELETE.OPTIONS…… 目前的工作中,HEAD.PUT.DELE ...

  2. JSON.stringify(),JSON.parse(),eval(string)

      JSON.stringify()用于从一个对象解析出字符串 : var obj = {"name":"week","age":" ...

  3. luogu P2137 Gty的妹子树(分块,主席树)

    询问的化我们可以建主席树.然后修改?,树套树...,最后插入?炸了. 所以我们对操作进行分块. 我们先对整棵树建一个主席树.修改,插入我们先记录下来.然后询问的时候先对主席树查询,然后暴力遍历我们记录 ...

  4. BZOJ 2565 最长双回文串(回文自动机)

    题意 给一个长度为N的字符串S.对于一个字符串AB,如果A和B都是回文串,那么称AB是一个双回文串.求问S最长双回文子串的长度?N <= 100000 题解 正反双向构造回文自动机,得到某一个点 ...

  5. caioj 1152 快速求模 (快速幂)

    (1)开long long,不然中间结果会溢出 (2)注意一开始的初始化,保险一点. #include<cstdio> #include<cctype> #include< ...

  6. Echache整合Spring缓存实例讲解

    摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCache 介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中 ...

  7. 我的Android进阶之旅------&gt;怎样将Activity变为半透明的对话框?

    我的Android进阶之旅------>怎样将Activity变为半透明的对话框?能够从两个方面来考虑:对话框和半透明. 在定义Activity时指定Theme.Dialog主题就能够将Acti ...

  8. 数据结构之---C语言实现拓扑排序AOV图

    //有向图的拓扑排序 //杨鑫 #include <stdio.h> #include <stdlib.h> #include <string.h> #define ...

  9. Redis允许远程连接

    默认安装启动redis后,只能本地连接,无法远程连接上,原因是redis安全策略默认本机访问,所以远程访问的话需要将 配置文件redis.cof 中的 bind 127.0.0.1 前面的#注释掉, ...

  10. 28.STL常用算法

    #include <algorithm> 算法 常用版本 描述 返回Type std::find() find(_InIt _Fisrt,_InIt _Last, _Ty& _Va ...