当前位置: 首页 > news >正文

兰州网站建设招聘搭建网站要不要给域名对方

兰州网站建设招聘,搭建网站要不要给域名对方,电商常用的erp系统有哪些,公司名称注册规定前端学习笔记专栏区别于官网中全面的知识讲解#xff0c;主要记录学习技术栈时对于重点内容的提炼#xff0c;便于对技术栈知识的快速回顾以及使用 1.canvas元素 内部坐标#xff1a;坐标均以左上角为(0, 0)#xff0c;单一坐标均作为起始坐标创建对象#xff1a; c… 前端学习笔记专栏区别于官网中全面的知识讲解主要记录学习技术栈时对于重点内容的提炼便于对技术栈知识的快速回顾以及使用 1.canvas元素 内部坐标坐标均以左上角为(0, 0)单一坐标均作为起始坐标创建对象 canvas idmyCanvas width200 height100/canvasvar c document.getElementById(myCanvas); var ctx c.getContext(2d);绘制线条 ctx.moveTo(0,0); // 定义开始坐标 ctx.lineTo(200,100); // 定义结束坐标 ctx.stroke(); // 绘制线条绘制圆 ctx.beginPath(); ctx.arc(95, 50, 40, 0, 2*Math.PI); // (95, 50)为圆心40为半径02*Math.PI对应绘制周长 ctx.stroke();定义背景颜色/图案ctx.fillStyle定义字体ctx.font绘制矩形ctx.fillRect(x, y, width, height)绘制实心文本ctx.fillText(text, x, y)绘制空心文本ctx.strokeText(text, x, y)绘制图片ctx.drawImage(img, x, y); 2.SVG元素 canvas元素 依赖分辨率不支持事件处理器弱的文本渲染能力能够以 .png 或 .jpg 格式保存结果图像最适合图像密集型的游戏其中的许多对象会被频繁重绘 svg元素 不依赖分辨率支持事件处理器最适合带有大型渲染区域的应用程序比如谷歌地图复杂度高会减慢渲染速度任何过度使用 DOM 的应用都不快不适合游戏应用 3.拖放 function allowDrop(ev) {ev.preventDefault(); }function drag(ev) {ev.dataTransfer.setData(Text,ev.target.id); }function drop(ev) {ev.preventDefault();var dataev.dataTransfer.getData(Text);ev.target.appendChild(document.getElementById(data)); }div iddiv1 ondropdrop(event) ondragoverallowDrop(event)/divimg iddrag1 src/images/logo.png draggabletrue ondragstartdrag(event)4.地图定位 function getLocation(){if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition,showError);}else x.innerHTML该浏览器不支持定位。; }function showPosition(position) {x.innerHTML纬度: position.coords.latitude br经度: position.coords.longitude; }function showError(error) {switch(error.code) {case error.PERMISSION_DENIED:x.innerHTML用户拒绝对获取地理位置的请求。break;case error.POSITION_UNAVAILABLE:x.innerHTML位置信息是不可用的。break;case error.TIMEOUT:x.innerHTML请求用户地理位置超时。break;case error.UNKNOWN_ERROR:x.innerHTML未知错误。break;} }5.video/audio video idvideo1 width420source srcmov_bbb.mp4 typevideo/mp4source srcmov_bbb.ogg typevideo/ogg您的浏览器不支持 HTML5 video 标签。 /video audio controlssource srchorse.ogg typeaudio/oggsource srchorse.mp3 typeaudio/mpeg您的浏览器不支持 audio 元素。 /audio// 支持通过js控制DOM元素的play播放、pause方法 function playPause() { var myVideo document.getElementById(video1)if (myVideo.paused) myVideo.play()else myVideo.pause() }6.input 选色器input typecolor时间选择input typedate邮箱/链接/号码校验input typeemail/url/tel数字区间input typerange min1 max10数字input typenumber min1 max5 7.语义元素 section定义文档中的节比如章节、页眉、页脚或文档中的其他部分article定义独立的内容nav定义导航链接的部分aside定义页面主区域内容之外的内容比如侧边栏header描述了文档的头部区域主要用于定义内容的介绍展示区域footer描述了文档的底部区域figure规定独立的流内容图像、图表、照片、代码等等figcaption定义figure的标题应该被置于figure的第一个或最后一个子元素的位置 8.web存储 localStorage与sessionStorageweb sql与indexedDB单独篇章 9.localForge 将indexedDB封装成第三方库可以通过类似于localStorage的调用方式使用内置优雅降级在不支持indexedDB或web sql时使用localStorage 1.vue引入 npm install localforageimport localforage from localforage; localforage.config({driver: localforage.INDEXEDDB}); Vue.prototype.$localforage localforage;2.调用方式 promise方式localforage.setItem(key, value).then(function)回调方式localforage.setItem(key, value, function) 3.数据API 获取getItem(key, successCallback)设置setItem(key, value, successCallback)删除removeItem(key, successCallback)清空clear(successCallback)长度length(successCallback)索引key(keyIndex, successCallback)全量keys(successCallback)迭代iterate(iteratorCallback, successCallback) 4.设置API setDriver(driverName/[driverNames]) 强制使用特定的驱动或者固定优先级顺序的驱动driverName可选项 localforage.INDEXEDDBlocalforage.WEBSQLlocalforage.LOCALSTORAGE config(options) 设置全局通用的配置必须在调用数据API前调用该APIoptions参数 driver驱动规则与setDriver相同name数据库名称默认值localforgesize数据库大小仅用于web sqlstoreName仓库名称默认值keyvaluepairsversion数据库版本description数据库描述 5.驱动API 自定义驱动defineDriver(myCustomDriver)返回正在使用驱动driver()确定驱动是否启动ready()判断浏览器是否支持driverNamesupports(driverName) 6.多实例 创建返回localForge实例createInstance(config)删除数据库/仓库dropInstance({ name: , storeName: }) 10.web worker 使用场景多为需要复杂计算的操作如大量数据处理等等 1.限制 同源必须与主线程文件同源DOM无法使用document、window、parent等对象但可以使用navigator和location对象通信与主线程不在同一上下文需要通过信息传递通信脚本不能执行alter、confirm方法但可以使用XMLHttpRequest发出ajax请求文件无法读取本地文件加载的脚本必须来自网络 2.主线程调用 // 根据脚本文件创建线程 let worker new Worker(work.js)// 向线程传递信息 worker.postMessage(hello) worker.postMessage({msg: hello})// Transferable Objects传递二进制数据仅在单一线程可用 let buffer new ArrayBuffer(1); worker.postMessage(buffer, [buffer])// 接收线程信息 worker.onmessage function(event) {console.log(event.data)worker.postMessage(receive) }// 接收线程错误 worker.onerror function(event) {console.log(event) }// 关闭线程 worker.terminate()3.worker线程执行 // 加载其他脚本 importScripts(script.js)// 接收主线程信息 onmessage function (event) {let data e.dataswitch (data) {case start:// 向主线程传递信息postMessage(worker start)breakcase stop:postMessage(worker stop)// 内部关闭线程close()break;}; }4.worker实例 // 线程中轮询判断与缓存是否一致决定是否传递信息 function createWorker(f) {let blob new Blob([( f.toString() )()])let url window.URL.createObjectURL(blob)let worker new Worker(url)return worker }let pollingWorker createWorker(function (e) {let cachefunction compare(new, old) {}setInterval(function () {fetch(/my-api-endpoint).then(function (res) {let data res.json();if (!compare(data, cache)) {cache data;self.postMessage(data);}})}, 1000) })pollingWorker.onmessage function () {} pollingWorker.postMessage(init)11.SSE 网页自动获取来自服务器的更新适用于服务器单向高频的数据发送 // 前端开启轮询 const source new EventSource(/sse); source.onopen () {console.log(轮询开启); } source.onmessage (res) {console.log(获得的数据是: res.data ); } source.onerror (err) {console.log(err); }// node.js后端传递信息 const http require(http) const fs require(fs) const server http.createServer((req, res) {const url req.url;if (url /) {const data fs.readFileSync(./index.html)res.end(data)} else if (url /sse) {res.setHeader(Content-type, text/event-stream)setInterval(() {res.write(data: new Date() \r\n\r\n)}, 2000);} }) server.listen(3000)12.WebSocket 客户端与服务端全双工通信 let ws new WebSocket(ws://localhost:8080);// 显示指定收到的二进制数据类型 ws.binaryType blob// 判断web socket状态 switch (ws.readyState) {case WebSocket.CONNECTING:// do somethingbreak;case WebSocket.OPEN:// do somethingbreak;case WebSocket.CLOSING:// do somethingbreak;case WebSocket.CLOSED:// do somethingbreak;default:// this never happensbreak; }ws.onopen function(evt) {let data new ArrayBuffer(10000000)// 发送信息ws.send(data)if (ws.bufferedAmount 0) {// 发送完毕} else {// 发送还没结束} };ws.onmessage function(evt) {console.log( Received Message: evt.data)ws.close() }wx.onerror function(evt) {console.log(Connection error evt) }ws.onclose function(evt) {console.log(Connection closed evt) }
http://www.hkea.cn/news/14283458/

相关文章:

  • 网站域名实名制江阴网站建设推广
  • 高校网站建设资料库app营销策略模板
  • 做网站设计怎么提升品牌建设部门职责
  • 河南建设信息网站织梦发布文章wordpress
  • 成都建站优化公司泰安网络网站
  • 网站开发技术构架网页制作培训班厦门
  • 江苏企业网站排名优化做网站用哪种代码比较好推广
  • 做网站教程如乐做系统网站建设
  • 免费不收费用网站网络认证
  • 建设英语网站小学校园门户网站建设方案
  • 中小企业建站排名企业门户模板
  • 安庆做网站哪个公司好推广类软文案例
  • 风铃网站代做企业网站展示生产的处方药介绍处罚案件
  • 做移动网站首页软百事可乐网络营销推广方法
  • 医美技术支持东莞网站建设无忧中英繁企业网站系统通用版
  • 美发网站模板好看的免费的小说网站模板
  • 网站构建设计思路地推扫码平台
  • wordpress 多域名301重定向代码seo内部优化具体做什么
  • 南宁市住房城乡建设厅网站推广代运营公司
  • 做网站需要哪些人手金华市住房和城乡建设局网站
  • wordpress卡密网站源码wordpress同步到
  • 网站空间如何使用福州关键词排名软件
  • 网站首页漂浮广告代码国字型网站建设布局
  • 百度网盟有哪些网站大港做网站
  • 网站浏览器图标怎么做wordpress固定连接出现中文
  • 域名申请了怎么做网站张掖网站建设推广
  • 可以直接打开网站的网页云平台网站优化
  • 检索类的网站建设做电商运营有前途吗
  • 网站 会员系统 织梦广州seo推广服务
  • 用v9做网站优化网站建设人才招聘