# 弹窗配置
# 是否显示标题
点击应用系统,打开弹窗,弹窗有标题栏,应用系统页面里也有表头,就会出现如下情况:
为解决此问题,可设置不展示标题栏.
在系统设置->应用管理->组件注册(展示窗口标题)
点击组件或应用系统会在打开的窗口url后自动拼接showTitle=true 或者 false。各应用系统接收showTitle参数, 当showTitle为false时,需要在左上角预留一定空间,以防止弹窗的功能按钮和项目左上角内容层叠。
当展示窗口标题开关开启时:
当展示窗口标题开关关闭时: 窗口选中拖拽(缩放),最小化,最大化,关闭功能在窗口的右上角,如下图:
选中拖拽(缩放):增加此功能按钮是因为标题栏不显示,无法对窗口进行选中拖拽操作。
# 窗口宽高的设置
在系统设置->应用管理->快捷方式->新增(类型选择非菜单时)
可以配置窗口的宽度和高度(不配置时窗口的宽度默认1200px,高度默认800px)
# 打开窗口
将打开的弹出页面单独形成路由,将路由地址,通过postMessage进行传递。
窗口有窗口id,门户接收此消息后会比对窗口id,若有此id的窗口,则激活此窗口;没有则打开新窗口
list = {id: '窗口id',name:'窗口名称',link:'路由地址'};
window.parent.postMessage( {embedWindow: list}, "*");
// 各属性解释:
// id: 窗口id,为32位uuid不可重复。未避免每次点击按钮都新打开一个窗口,故每个窗口都需要一个唯一标识。
// 门户接收此消息后会比对窗口id,若有此id的窗口,则激活此窗口;没有则打开新窗口
// name: 窗口标题的名称
// link:打开的路由地址
// width:窗口宽度
// height:窗口高度
// *宽度和高度为非必要值,不设置宽度和高度时,使用默认宽高
// 例:
var list = {id: '4e11f806aa17cb31b188e7df3dc9a87e', name:'窗口一',link:'https://sunpma.com/other/rgb/'};
window.parent.postMessage( {embedWindow: list}, "*");
# 最小化窗口
获取打开窗口时门户传递过来的windowId,用于确定操作的是哪个窗口,通过postMessage传递message。
例:
<html>
<body>
<button onclick="myClick('windowMinimum')">最小化</button>
</body>
<script>
var windowId = '';
window.onload = function(){
windowId = GetQueryString("windowId");
}
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
function myClick (command){
window.parent.postMessage(
{ operatePortalWindow:
{
windowId: windowId,
operate: command
}
},"*");
}
</script>
<html>
# 最大化窗口
获取打开窗口时门户传递过来的windowId,用于确定操作的是哪个窗口,通过postMessage进行传递。
例:
<html>
<body>
<button onclick="myClick('windowChange')">最大化</button>
</body>
<script>
var windowId = '';
window.onload = function(){
windowId = GetQueryString("windowId");
}
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
function myClick (command){
window.parent.postMessage(
{ operatePortalWindow:
{
windowId: windowId,
operate: command
}
},"*");
}
</script>
<html>
# 关闭窗口
获取打开窗口时门户传递过来的windowId,用于确定操作的是哪个窗口,通过postMessage进行传递。
例:
<html>
<body>
<button onclick="myClick('windowClose')">关闭</button>
</body>
<script>
var windowId = '';
window.onload = function(){
windowId = GetQueryString("windowId");
}
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
function myClick (command){
window.parent.postMessage(
{ operatePortalWindow:
{
windowId: windowId,
operate: command
}
},"*");
}
</script>
<html>