html5

如何在localStorage中存储阵列? [重复]

流过昼夜 提交于 2020-08-05 16:48:58
问题: This question already has an answer here: 这个问题已经在这里有了答案: Storing Objects in HTML5 localStorage 19 answers 在HTML5 localStorage中存储对象 19个答案 If I didn't need localStorage, my code would look like this: 如果我不需要localStorage,我的代码将如下所示: var names=new Array(); names[0]=prompt("New member name?"); This works. 这可行。 However, I need to store this variable in localStorage and it's proving quite stubborn. 但是,我需要将此变量存储在localStorage中,事实证明它很顽固。 I've tried: 我试过了: var localStorage[names] = new Array(); localStorage.names[0] = prompt("New member name?"); Where am I going wrong? 我要去哪里错了? 解决方案: 参考一: https:/

Apache Guacamole 在任意浏览器 远程控制你的电脑(或Windows服务器)

陌路散爱 提交于 2020-08-05 11:55:46
Apache Guacamole 在任意浏览器 远程控制你的电脑(或Windows服务器),最新版本是1.1.0,下图是来自官网首页的一张效果图: Apache Guacamole是一个无客户端的远程桌面网关。它支持VNC,RDP和SSH等标准协议。 我们称之为无客户端,因为不需要插件或客户端软件。 感谢HTML5,一旦Guacamole安装在服务器上,您访问桌面所需的只是一个Web浏览器。 官网地址: http://guacamole.apache.org 软件是国外软件,界面是英文的,大家可以直接使用浏览器的翻译功能进行页面翻译。 guacamole服务端Github地址:https://github.com/apache/guacamole-server 来源: oschina 链接: https://my.oschina.net/lichaoqiang/blog/4311727

websocket协议全双工协议

你说的曾经没有我的故事 提交于 2020-08-05 11:31:30
一.WebSocket简单介绍   随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。   我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据;这种客户端是主动方,服务端是被动方的传统Web模式 对于信息变化不频繁的Web应用来说造成的麻烦较小,而对于涉及实时信息的Web应用却带来了很大的不便,如带有即时通信、实时数据、订阅推送等功能的应 用。在WebSocket规范提出之前,开发人员若要实现这些实时性较强的功能,经常会使用折衷的解决方法:轮询(polling)和Comet技术。其实后者本质上也是一种轮询,只不过有所改进。   轮询是最原始的实现实时Web应用的解决方案。轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。   Comet技术又可以分为长轮询和流技术。长轮询改进了上述的轮询技术,减小了无用的请求。它会为某些数据设定过期时间,当数据过期后才会向服务端发送请求

如何使用Dynamic Web TWAIN从网络摄像头捕获图像

元气小坏坏 提交于 2020-08-05 09:42:13
如何通过浏览器访问网络摄像头? HTML5 为Web开发人员提供了JavaScript API MediaDevices.getUserMedia()。在本指南中,我们将使用Dynamic Web TWAIN SDK网络摄像头插件构建一个在线网络摄像头演示。 为什么选择Dynamic Web TWAIN网络摄像头附加组件 为什么有免费的选项时考虑付费选项?我们列出了HTML5不提供的网络摄像头附加组件的一些高级功能。 浏览器兼容性 – HTML5与某些较旧的浏览器不兼容,例如Internet Explorer 8。 精确控制网络摄像头 –您可以完全控制摄像机,例如摇摄,倾斜,滚动,变焦,曝光,光圈和自动对焦。 分辨率设置 –使用GetResolution(),SetResolution()API获取和设置分辨率 扫描仪质量的图像 – Dynamsoft提供了多种图像增强技术来帮助用户生成高质量的图像,包括自动边界检测,噪声消除和透视校正。 上载到服务器 – SDK提供了内置方法,供用户将图像上载到服务器端。 如果您要构建一个健壮的,功能齐全的企业级应用程序,那么选择Dynamsoft的SDK这样的商业SDK将会为您带来巨大的投资回报。 关于Dynamic Web TWAIN网络摄像头附加组件 Dynamic Web

canvas画布笔记

徘徊边缘 提交于 2020-08-05 09:06:23
鼠标事件 Canvas对象支持所有的JavaScript的鼠标事件 canvas.addEventListener("mousedown", doMouseDown, false) canvas.addEventListener('mousemove', doMouseMove, false) canvas.addEventListener('mouseup', doMouseUp, false) canvas.addEventListener('click', doMouseUp, false) canvas.onmousedown = e=>{} 这种是反模式,不可扩展,所以不要用这种写法 计算鼠标在Canvas对象上坐标 Canvas上鼠标事件中所获取的都是基于整个 屏幕的坐标。通过canvas. getBoundingClientRect()来获取Canvas对象包围盒相对屏幕的相对位置,通过计算 得到鼠标在Canvas的坐标 function getPointOnCanvas(e) { let x=e.clientX, y=e.clientY let bbox =canvas.getBoundingClientRect(); return { x: x- bbox.left * (canvas.width / bbox.width), y: y - bbox.top *

Canvas干货总结

孤街浪徒 提交于 2020-08-05 09:02:13
一、canvas简介   ​<canvas> 是 html5 新增的,一个可以使用脚本(通常为 javascript) 在其中绘制图像的 html 元素。它可以用来制作照片集或者制作简单的动画,甚至可以进行实时视频处理和渲染。 ​它最初由苹果内部使用自己 macos x webkit 推出,供应用程序使用像仪表盘的构件和 safari 浏览器使用。后来,有人通过 gecko 内核的浏览器 (尤其是 mozilla和firefox),opera 和 chrome 和超文本网络应用技术工作组建议为下一代的网络技术使用该元素。   ​canvas 是由 html 代码配合高度和宽度属性而定义出的可绘制区域。javascript 代码可以访问该区域,类似于其他通用的二维 api,通过一套完整的绘图函数来动态生成图形。 ​ mozilla 程序从 gecko 1.8 (firefox 1.5) 开始支持 <canvas>, internet explorer 从 ie9 开始 <canvas> 。chrome 和 opera 9+ 也支持 <canvas>。 二、canvas的基本组成   <canvas> 看起来和 <img> 标签一样,只是 <canvas> 只有两个可选的属性 width、heigth 属性,而没有 src、alt 属性。 ​如果不给 <canvas> 设置 widht

个人练习:使用HTML+CSS制作二级菜单

 ̄綄美尐妖づ 提交于 2020-08-05 05:18:23
最近一直在学习HTML+CSS,刚看完如果制作下拉菜单部分,就想着做一个练练手。 先上成品图: 就是上面这个效果,横向菜单选项能点击,鼠标放在上面也能展开二级菜单,二级菜单也能点击,点击后就会在底下的<iframe>中打开网站链接。(可能这里会有人好奇"为什么不点开哔哩哔哩你不是都放在上面了嘛!",实际上我这边点开哔哩哔哩它会跳转两次,先在<iframe>中打开一次,然后又会在当前页面转到哔哩哔哩,你得后退一次才能看到在<iframe>中打开的哔哩哔哩_(:з」∠)_) 那么不废话了直接切入正题。 我的设想是创建两个<div>,宽度都是占100%,顶上的<div>放菜单栏,下面的<div>专门放<iframe>(这里先给两个区域设置背景颜色好分辨): 1 <!-- 顶部div区域,存放横向导航栏 --> 2 < div class ="topMenu" > 3 4 </ div > 5 6 <!-- 主要内容的div区域,存放网站页面的框架 --> 7 < div class ="mainContent" > 8 9 </ div > HTML部分 底端的<div>区域我希望高度是除去顶端元素后剩余的所有部分,这里就用到了CSS3中的一个函数calc()。: 1 /* 清除文档内外边距,让<div>区域能够紧贴浏览器边缘 */ 2 body { 3 padding : 0px ;

H5页面与应用实例

戏子无情 提交于 2020-08-05 04:42:54
随着互联网的深入发展,移动营销已逐渐成为主题,相比电视、杂志、户外广告等传统媒体呈逐年下降的趋势,品牌营销在数字和移动方面的投入在逐年上升。而且,在所有渠道预算中移动技术的投入增长最快,远远高于其他渠道的增长,可见移动营销已是大势所趋。当前web时代,H5页面通过微信和朋友圈快速传播,以无需下载、即点即用的属性迅速上位,一跃变成炙手可热的小鲜肉。 什么是H5页面? H5,是HTML5的简称,它就是一种高级网页技术。 相比H4,H5有更多的交互和功能,最大的优点之一是在移动设备上支持多媒体。 H5页面主要的作用 1、品牌传播:形式一般为品牌发布、总结报告、公益传递、人事招聘; 2、活动推广:形式一般为贺卡邀请、游戏互动、答题有奖; 3、产品展示:形式一般为故事讲述、性能展示。 H5页面类型 品牌传播型H5——等同于一个品牌的微官网,更倾向于品牌形象塑造,向用户传达品牌的精神态度。在内容上倡导一种态度、一个主旨,在设计上则需要运用符合品牌气质的视觉语言,让用户对品牌留下深刻印象。 活动推广型H5——活动运营页需要有更强的互动、更高质量、更具话题性的设计来促成用户分享传播,行成爆炸式的传播效应。活动推广之贺卡邀请型、活动推广之游戏互动型、活动推广之答题有礼型等。 产品展示型H5——聚焦于产品功能介绍,运用H5的互动技术优势尽情展示产品特性,吸引用户购买。 H5设计要点 1、紧跟热点

nginx配置websocket代理

天大地大妈咪最大 提交于 2020-08-05 04:28:26
什么是websocket 传输层协议, 基于TCP, 类似http,与http不同的时候,websocket支持长链接, 支持服务器可以往客户端推送 WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。 它是真正的双向平等对话,属于服务器推送技术的一种。其他特点包括: 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 数据格式比较轻量,性能开销小,通信高效。 可以发送文本,也可以发送二进制数据。 没有同源限制 ,客户端可以与任意服务器通信。 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL ws://xncoding.com:80/some/path 另外客户端不只是浏览器,只要实现了ws或者wss协议的客户端socket都可以和服务器进行通信。 原理 一个典型的Websocket握手 GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade