热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

html管理器,HTML5窗口管理器插件WinBox

插件描述:WinBox是一个现代的HTML5网络窗口管理器。轻量级、出色的性能、无依赖、完全可定制、免费和开源!更新时间:2021-06-

d51aebcd360ed25f09b9ff01d5be5baf.png

ff20617b0252a94a2598425ec9f64fdc.png

插件描述:WinBox是一个现代的 HTML5网络窗口管理器。 轻量级、出色的性能、无依赖、完全可定制、免费和开源!

更新时间:2021-06-21 23:35:04

WinBox

现代 Web 窗口管理器:轻量级、出色的性能、无依赖、完全可定制、开源!

使用捆绑版本

捆绑版本包括所有资产,如 js、css、html 和图标图像作为 base64。

使用非捆绑版本

非捆绑版本需要分别加载js和css(css也包含base64的图标)。

预加载库/异步加载(推荐)

只需将链接标记添加到指示预加载脚本的标题部分。在正文关闭之前添加您的站点脚本。根据您的代码,您可能需要以正确的顺序加载它们。

您也可以以相同的方式加载非捆绑版本。

在极少数情况下,它可能会在页面加载后产生短暂的闪烁/回流,具体取决于您的堆栈。将 script 标签移动到 head 部分将解决这个问题。也尝试使用非捆绑版本。

ES6 模块

ES6 模块位于src/js/. 您需要显式加载样式表文件(包括 base64 格式的图标)。

import WinBox from "./src/js/winbox.js";

您还可以通过 CDN 加载模块,例如:

import WinBox from "https://unpkg.com/winbox@0.2.0/src/js/winbox.js";

选项选项值描述

idnumber | string为窗口设置一个唯一的 id。用于在 css 中定义自定义样式,通过上下文查询元素或仅用于标识相应的窗口实例。如果未设置 ID,它将自动为您创建一个。

indexnumber将z-index窗口的初始值设置为此值(未聚焦/聚焦时可以自动增加)。

titlestring窗口标题。

mountHTMLElement将元素(小部件、模板等)安装到窗口主体。

htmlstring设置innerHTML窗口主体的 。

urlstring在窗口内打开 URL(通过 iframe 加载)。

width

heightnumber | string设置窗口的初始宽度/高度(支持单位“px”和“%”)。

minwidth

minheightnumber | string设置窗口的最小宽度/高度(支持单位“px”和“%”)

x

ynumber | string设置窗口的初始位置(支持:x轴为“右”,y轴为“底部”,两者都为“中心”,两者的单位为“px”和“%”)。

maxboolean创建时自动将窗口切换到最大化状态。

top

right

bottom

leftnumber | string设置或限制窗口可用区域的视口(支持单位“px”和“%”)。

backgroundstring设置窗口的背景(支持样式属性“背景”也支持的所有CSS样式,例如颜色、透明颜色、hsl、渐变、背景图像)

bordernumber设置窗口的边框宽度(支持所有 css 单位,如 px、%、em、rem、vh、vmax)。

classstring向窗口添加一个或多个类名(多个类名作为数组或用空格分隔,例如“class-a class-b”)。用于在 css 中定义自定义样式,按上下文(也在 CSS 中)查询元素或仅标记相应的窗口实例。

modalboolean将窗口显示为模态。

onmovefunction(x, y)窗口移动时触发的回调。this回调函数内的关键字是指对应的 WinBox 实例。

onresizefunction(width, height)当窗口调整大小时触发回调。this回调函数内的关键字是指对应的 WinBox 实例。

onclosefunction(force)窗口关闭时触发的回调。this回调函数内的关键字是指对应的 WinBox 实例。注意:事件 'onclose' 将在关闭之前触发,并在应用回调并返回真值时停止关闭。

onfocus

onblurfunction()对多个事件的回调。this回调函数内的关键字是指对应的 WinBox 实例。

splitscreenboolean启用分屏功能,通过在窗口旁边拖动来并排查看两个窗口

创建和设置窗口

基本窗口

当root指定no时,窗口将附加到document.body.new WinBox("Window Title");

或者:WinBox.new("Window Title");

或者:new WinBox({

title: "Window Title"

});

或者:var winbox = WinBox();

winbox.setTitle("Window Title");

自定义根

根是窗口将附加到的文档中的唯一元素。在大多数情况下,这通常document.body是默认根。同时多个根只是部分支持(它们实际上共享相同的视口)。new WinBox("Window Title", {

root: document.body

});

自定义颜色

支持样式属性“背景”也支持的所有 CSS 样式,例如颜色、透明颜色、hsl、渐变、背景图像。new WinBox("Custom Color", {

background: "#ff005d"

});

或者:var winbox = new WinBox("Custom Color");

winbox.setBackground("#ff005d");

自定义边框

支持所有单位。new WinBox({

title: "Custom Border",

border: "1em"

});

您还可以定义多个边框值(顺序为:上、右、下、左):new WinBox({

title: "Custom Border",

border: "0 1em 15px 1em"

});

自定义视口

定义窗口可以移动或可以调整大小的可用区域(相对于文档)(支持单位“px”和“%”)。new WinBox("Custom Viewport", {

top: "50px",

right: "5%",

bottom: 50,

left: "5%"

});

或者(只支持数字!):var winbox = new WinBox("Custom Viewport");

winbox.top = 50;

winbox.right = 200;

winbox.bottom = 0;

winbox.left = 200

自定义位置/尺寸

支持 x 轴“右”,y 轴“底部”,两者都支持“中心”,单位“px”和“%”也都支持。new WinBox("Custom Viewport", {

x: "center",

y: "center",

width: "50%",

height: "50%"

});new WinBox("Custom Viewport", {

x: "right",

y: "bottom",

width: "50%",

height: "50%"

});

或者(也支持与上述相同的单位):var winbox = new WinBox("Custom Viewport");

winbox.resize("50%", "50%")

.move("center", "center");

或者(只支持数字!):ar winbox = new WinBox("Custom Viewport");

winbox.width = 200;

winbox.height = 200;

winbox.resize();

winbox.x = 100;

winbox.y = 100;

winbox.move();

模态窗口new WinBox({

title: "Modal Window",

modal: true

});

主题

随意创建您自己的主题并与我们分享。

加载相应的 css 文件(或使用打包器),例如:

只需将主题名称添加为类:var winbox = new WinBox({

title: "Theme: Modern",

class: "modern"

});

或者:var winbox = new WinBox("Theme: Modern");

winbox.addClass("modern");

您可以在窗口的生命周期内更改主题。

管理窗口内容

设置内部HTML

不要忘记清理作为html一部分的任何用户输入,因为这可能导致意外的 XSS!new WinBox("Set innerHTML", {

html: "

Lorem Ipsum

"

});

或者:var winbox = new WinBox("Set innerHTML");

winbox.body.innerHTML = "

Lorem Ipsum

";

挂载 DOM(克隆)

通过克隆,您可以轻松地并行创建相同内容的多个窗口实例。

Lorem Ipsum

Lorem ipsum [...]

var node = document.getElementById("content");

new WinBox("Mount DOM", {

mount: node.cloneNode(true)

});

或者:var node = document.getElementById("content");

var winbox = new WinBox("Mount DOM");

winbox.mount(node.cloneNode(true));

窗口实例

窗口状态/信息:var winbox = new WinBox();

console.log("Window ID:", winbox.id);

console.log("Current Maximize State:", winbox.max);

console.log("Current Minimize State:", winbox.min);

窗口大小:var winbox = new WinBox();

winbox.width = 200;

winbox.height = 200;

winbox.resize();

console.log("Current Width:", winbox.width);

console.log("Current Height:", winbox.height);



推荐阅读
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
author-avatar
耿佳霖彦婷淑云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有