js代码

Js实现Blob视频加密(附代码,精讲)

狂风中的少年 提交于 2019-12-21 19:23:51
Js实现Blob视频加密(附代码,精讲) 一、原理 把video的src属性以blob形式给显示出来,这样就可以实现加密效果。示例效果如下: 二、过程 利用Ajax方法,请求一个视频地址,并设置返回值为Blob类型 把请求的数据传给video的src属性 video接收到src属性后,就立即释放请求到的数据,以免泄露。 三、示例代码 < video id = "my-video" class = "video-js" playsinline controls preload = "auto" controlslist = "nodownload" controlslist = "nofullscreen" width = "100%" height = "240" poster = "./public/images/cover.png" > < / video > < script type = "text/javascript" > var video = document . getElementById ( "my-video" ) ; window . URL = window . URL || window . webkitURL ; //用来判断电脑系统window.webkitURL和window.URL是一样的,window.URL标准定义,window

js深度clone

泄露秘密 提交于 2019-12-21 19:19:35
对象深度clone JavaScript中如何对一个对象进行深度clone? 方式 JavaScript中如何对一个对象进行深度clone? 一道百出不厌的面试题。 方式 上一篇写到了 引用数据类型 这里就会用上了 var a = [9, 5, 2, 7]; var b = a; a.push(0); console.log(b); // [9, 5, 2, 7, 4] 由于引用类型数据存储在应用地址内存中,因此赋值复制的也是这一块地址,因此相当于两个数组对象引用了一块数据地址,所以对a或者b的任何操作或者改变都会体现在对象中。 function clone(obj){ var buf; if(obj instanceof Array){ buf = []; var i = obj.length; while(i--){ buf[i] = clone(obj[i]); } return buf; } else if(obj instanceof Object){ buf = {}; for(var k in obj){ buf[k] = clone(obj[k]); } return buf; } else{ return obj; } } 利用三元运算符 可以让代码更精简一点 毕竟提高效率也是程序员必不可少的技能嘛~ function clone(obj) { var o =

TrimPath - Js模板引擎

霸气de小男生 提交于 2019-12-21 14:15:40
  当页面中引用template.js文件之后,脚本将创建一个TrimPath对象供你使用。 parseDOMTemplate(elementId,optionalDocument)  //获得模板字符串代码   得到页面中Id为elementId的DOM组件的InnerHTML,将其解析成一个模板,这个返回一个templateObject对象,解析出错时将抛出一个异常。   optionalDocument一个可选参数,在使用iframe,frameset或者默认多文档时会有用,通常用来做模板的DOM元素师一个隐藏的<textarea>。   以上方法的到的模板(字符串)再经过process()方法进一步解析就得到了最终的源代码。   如: var result = parseDOMTemplate(elementId,optionalDocument).process();  //用数据替换模板   这个方法也直接能用于解析字符串: var data = { Name:"张辽" };       //不输入就包ul,输入就包你输入的那个 var result = TrimPath.processDOMTemplate("temp", data); document.getElementById("ShowDiv").innerHTML = result; alert(

JS定时器相关用法

假如想象 提交于 2019-12-21 14:12:20
一、定时器在javascript中的作用 1、制作动画 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>用定时器制作动画</title> 6 <style> 7 .box{ 8 width:100px; 9 height:100px; 10 background: #ffb8f9; 11 position: fixed; 12 left:20px; 13 top:20px; 14 } 15 </style> 16 <script> 17 window.onload = function(){ 18 var left=20; 19 var oBox = document.getElementById('box'); 20 var timer = setInterval(function(){ 21 if(left>700){ 22 clearInterval(timer); 23 } 24 left++; 25 oBox.style.left = left+'px'; 26 },30); 27 } 28 29 </script> 30 </head> 31 <body> 32 <div class="box" id="box"></div> 33 </body> 34 <

html、css、js文件加载顺序及执行情况

主宰稳场 提交于 2019-12-21 10:08:00
今天看书,看到html,css,js加载执行情况,发现自己并不是真正的了解,网上搜了半小时依然未弄明白,就在这时我找到了让我恍然大悟的一段话,如下: HTML页面加载和解析流程 1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回 html文件 。 2. 浏览器开始载入 html代码 ,发现<head>标签内有一个<link>标签引用外部CSS文件。 3. 浏览器又发出CSS文件的请求,服务器返回这个CSS文件。 4. 浏览器继续载入html中<body>部分的代码,并且CSS文件已经拿到手了,可以开始渲染页面了。 5. 浏览器在代码中发现一个<img>标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码。 6. 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码。 7. 浏览器发现了一个包含一行Javascript代码的<script>标签,赶快运行它。 8. Javascript脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个<style>(style.display=”none”)。杯具啊,突然就少了这么一个元素,浏览器不得不重新渲染这部分代码。 9. 终于等到了</html>的到来,浏览器泪流满面…… 10. 等等,还没完

JS初步

∥☆過路亽.° 提交于 2019-12-21 09:43:23
12.20 学习笔记 JavaScript 初步 JavaScript 是属于 HTML 和 Web 的编程语言。 编程令计算机完成您需要它们做的工作。 JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 (JavaScript 和 Java 是完全不同的语言,不论是概念还是设计。) 1.JS初步 JS的功能之一就是动态网页消息,与用户进行一些交互。 应用:注册验证,动画效果等 JS 的插入方法 方法1:行内引入 方法2:内部引入 1.新建一个html5 file 2.在 < script> < /script> 标签中书写JS代码 3.< script>< /script>标签应该包含在< head> < /head>标签中 例子: 注意: 1.这只是一个简单的例子。用alert虽然网页的互动性增强了,但是用户体验并不好。目前大多数使用的是按钮的触发式点击。 2.< script>< /script >标签还可以放在< body> < /body>标签的内部或者外部,但是不建议这样写,因为这样并不符合书写规范。一般还是写在< head> < /head>标签中。 3.JS中,一段语句结束以后一定要加上分号 方法3:外部导入 在外部新建一个.js的文件,在里面写JS代码,然后在

js date()函数

大兔子大兔子 提交于 2019-12-21 09:35:56
最近工作中经常会用到,需要前端去获取时间,然后进行一些处理,自己发现都忘个差不多了,就想着重新回顾一遍. JavaScript中有Date对象,Date对象用于处理时间和日期. 创建Date对象的语法: var myDate = new Date(); Date对象会自动把当前时间和日期保存为其初始值. Date() 返回当日的日期时间 getDate() 从Date对象返回一个月中的某一天(1~31) getDay() 从Date对象返回一周中的某一天(0~6) getMonth() 从Date对象返回月份(0~1) getFullYear() 从Date对象以四位数字返回年份 getYear() 获取时间戳的年份,请使用getFullYear()方法替代 getHours() 返回Date对象的小时(0~23) getMinutes() 返回Date对象的分钟(0~59) getSeconds() 返回Date对象的秒数(0~59) getMilliseconds() 返回Date对象的毫秒(0~999) getTime() 返回1970年1月1日至今的毫秒数 getTimezoneOffset() 返回本地时间与格林威治标准时间(GMT)的分钟差 parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数 setDate() 设置Date对象中月的某一天(1~31

JS基础

折月煮酒 提交于 2019-12-21 08:59:57
JS事件 事件(Event)是 JavaScript 应用跳动的心脏 ,进行交互,使网页动起来。当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了 作用 a.验证用户输入的数据。 b.增加页面的动感效果。 c.增强用户的体验度。 事件类型 JavaScript可以处理的事件类型为:鼠标事件、键盘事件、HTML事件。 常用事件 onload:当页面或图像加载完后立即触发 onclick:鼠标点击某个对象 onblur:元素失去焦点 onfocus:元素获得焦点 onchange:用户改变域的内容 onmouseover:鼠标移动到某个元素上 onmouseout:鼠标从某个元素上离开 onkeyup:某个键盘的键被松开 onkeydown:某个键盘的键被按下 事件流和事件模型 事件顺序有两种类型:事件捕获和事件冒泡。 JS基础语法 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 注释 注释用来代码进行解释说明,增强代码的可读性;方便调试代码。 < script type = "text/javascript" charset = "utf-8" > // 这是单行注释 /** * 这是多行注释 */ < ! -- 兼容 HTML 的注释 -- > alert ( 'this is inner js code'

简单通过js实现轮播图

只愿长相守 提交于 2019-12-21 08:44:05
选取几张图片然后用HTML放入图片,CSS布局,js用 setInterval 设置时间延时 进行自动播放 代码部分: HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="1111.css"> <script src="1111.js"></script> </head> <body> <div id="lunbo" class="lunbo"> <div class="lunbotu"> <a href=""> <img src="img1.jpg" alt=""> </a> </div> <div class="lunbotu"> <a href=""> <img src="img2.jpg" alt=""> </a> </div> <div class="lunbotu"> <a href=""> <img src="img3.jpg" alt=""> </a> </div> </div> </body> </html> CSS .lunbo img{ width:410px ; height: 225px; } .lunbotu{ position: absolute; left:310px;

VoLTE SIP代码意义及流程图解

耗尽温柔 提交于 2019-12-21 07:17:43
VoLTE SIP代码意义及流程图解 本帖最后由 ufooo 于 2016-2-25 10:55 编辑 2016-2-25 10:45 上传 下载附件 (65.13 KB) </ignore_js_op> 一 VOLTE SIP代码意义 SIP应答消息状态码与功能 类型 状态码 状态说明 临时应答(1XX) 100 Trying 正在处理中 180 Ringing 振铃 181 call being forwarder 呼叫正在前向 182 queue 排队 181* session progress 会话进行 会话成功(2XX) 200 OK 会话成功 重定向(3XX) 300 multiple 多重选择 301 moved permanently 永久移动 302 moved temporaily 临时移动 305 use proxy 用户代理 380 alternative service 替代服务 请求失败(4XX) 400 bad request 错误请求 401unauthorized 未授权 402 payment required 付费要求 403 forbidden 禁止 404 not found 未发现 405 method no allowed 方法不允许 406 not acceptable 不可接受 407 proxy authentication