js代码

第九章 浏览器模型

半世苍凉 提交于 2019-12-24 07:05:07
浏览器环境概述 1. 代码嵌入网页的方法 网页中嵌入JS代码,主要有三种方法: (1)JS标签 <javascript> 有个 type 属性,用来指定脚本类型,老式浏览器用 text/javascript ,新式浏览器用 application/javascript 。 可以用JS标签加载外部脚本,如果脚本文件使用了非英语字符,还应该注明字符的编码 charset="utf-8" 为了防止攻击者篡改外部脚本,JS标签允许设置一个 integrity 属性,写入该外部脚本的Hash签名,用来验证脚本的一致性。 (2)事件属性 网页元素的事件属性(比如onclick和onmouseover),可以写入JS代码。当指定事件发生时就会调用这些代码。 < button id = "myBtn" onclick = "console.log(this.id)" > 点击 < / button > (3)URL协议 在URL位置写入 代码,使用的时候就会执行JS代码。 < a href = "javascript: console.log('Hello')" > 点击 < / a > 2. script元素 2.1 工作原理 正常的网页加载流程是这样的 浏览器一边下载HTML网页,一边开始解析。也就是说不等下载完,就开始解析。 解析过程中,浏览器发现 <script> 元素,就暂定解析

js逆向微博案例

喜欢而已 提交于 2019-12-24 06:41:07
js逆向 js逆向就是从网页的js找到加密的参数,实现破解加密,拿到cookie 微博登录案例 手动操作流程 访问首页https://weibo.com 输入用户名和密码 点击登录 如果有验证码,就输入验证码验证 成功跳转到微博首页面 1.请求分析 请求回的响应是否包含cookie,也即是看首页面的响应头中是否包含set-cookie。如果包含,那么这个请求是登录过程中必须的。经过查看,发现在首页面的响应头中,包含set-cookie,这个请求是登录的第一个请求。 2.寻找请求数据 第一次的请求 第二次的请求 观察data的变化,发现除了最后有个时间戳解决浏览器缓存之外,其他参数都是固定的。 nonce,pwencode,rsakv,以及sp的值都明确指明了参数被js加密了 一个servertime ertime 时间戳不管它,一个su,预测u就是username,一个sp,p应该是sp 3. 寻找加密的js 根据经验,在请求页面的html之后,还会去请求页面中的js,css,图片等信息。css,图片信息我们可以排除,一般情况,不会是登录的必须请求。一种常见的手法是,将后续请求需要用到的参数放到js中,然后通过js异步请求来完成登录。所以,我们在Network中过滤出所有的js请求。排除一些功能性的js,例如jquery之类,找出可能是参数的js。 https://login

js获取客户端IP及地理位置

为君一笑 提交于 2019-12-24 06:25:06
js获取 DEMO:http://blog.suiyidian.cn/texiao/ipd.html 腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress 返回的是数据格式为:var IPData = new Array(“114.218.183.139″,”",”北京市”); 使用JS代码进行调取: [javascript] view plain copy print ? <script language= "javascript" type= "text/javascript" src= "http://fw.qq.com/ipaddress"> </script> <script>document.write( "你的IP是:"+IPData[0]+ ",来自:"+IPData[2]); </script> 腾讯IP,转UTF-8: [javascript] view plain copy print ? <script type= "text/javascript" src= "http://fw.qq.com/ipaddress" charset= "gb2312"></script> $(document).ready( function() { $( "#ip").val(IPData[0]); $( "#add").val(IPData

Web前端知识体系

倖福魔咒の 提交于 2019-12-24 04:03:20
看到一篇不错的文章,拿来收藏和分享。 原文:http://mp.weixin.qq.com/s/UFTfdE7LYhHquWEzwZKLCQ Web前端技术由 html、css和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍。目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉。 一、JAVASCRIPT 篇 0、基础语法 Javascript 基础语法包括:变量声明、数据类型、函数、控制语句、内置对象等。 在ES5 中,变量声明有两种方式,分别是 var 和 function ,var 用于声明普通的变量,接收任意类型,function用于声明函数。另外,ES6 新增了 let、const、import 和 class 等四个命令,分别用以声明 普通变量、静态变量、模块 和 类 。 JS数据类型共有六种,分别是 String、Number、Boolean、Null、Undefined 和 Object 等, 另外,ES6新增了 Symbol 类型。其中,Object 是引用类型,其他的都是原始类型

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】

十年热恋 提交于 2019-12-24 02:26:50
引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章 http://www.haorooms.com/post/js_url_canshu ,今天主要讲讲escape(),encodeURI(),encodeURIComponent()这几个函数的用法和区别。 为啥会有浏览器编码这一说法 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “h ttp://www.haorooms.com”, 但是没有希腊字母的网址“h ttp://www.aβγ.com” (读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定: 原文:"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a

原生JS实现简单留言板功能

那年仲夏 提交于 2019-12-24 01:16:41
  原生JS实现简单留言板功能,实现技术:css flex,原生JS。   因为主要是为了练手js,所以其中布局上的一些细节并未做处理。    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>原生JS 实现留言板功能</title> <style> * { padding: 0; margin: 0; } .container { width: 1000px; max-height: 100vh; background: lightgray; margin: 0 auto; } .container .content { padding: 20px 20px 0 20px; display: flex; flex-direction: column; } .container .message { display: flex; flex-direction: row; justify-content: space-between; width: 100%; height: 200px; align-items: flex-end; } .container .enterMsg { width: 76%; height: 180px; font-size: 18px; padding:

[JS] 变量提升

百般思念 提交于 2019-12-24 01:13:38
猜猜下面的代码会输出什么东东? var foo = 1 ; var foobar = function ( ) { console . log ( foo ) ; var foo = 2 ; } ; foobar ( ) ; 如果你知道局部变量这个概念的话,你可能会觉得这个输出是 foo is not defined 。 如果你还知道JS里有变量提升这个概念的话,你可能觉得这个输出会是 2 。 如果你还知道JS里的变量提升只能提升变量,但不能把值也带过去的话,你会觉得这个输出会是 undefined 。 对啦,就是 undefined 。 来源: CSDN 作者: K.Sun 链接: https://blog.csdn.net/sinat_36246371/article/details/103671379

JS作用域&作用域链

自闭症网瘾萝莉.ら 提交于 2019-12-24 01:10:26
作用域的概念: 变量作用域的概念:变量作用域就是指一个变量可以使用的范围 全局作用域:代码在程序的任何地方都能被访问,window的内置属性都具有全局作用域,是js中最外层作用域 函数作用域:在固定的代码片段才能被访问,通过函数创建一个独立的作用域,函数是可以嵌套的,所以作用域也是可以嵌套的 作用域的做大用处就是隔离变量,不同作用域下同名变量不会有冲突 变量取值:到创建这个变量的函数的作用域中取值 var age = 18; // age是在全局作用域中声明的变量,即为全局变量 function f1(){ console.log(name); // 此处可以访问到name变量,输出undefined // 这里为何输出undefined,是由于变量提升造成的,见附录1 // name是f1函数内部声明的变量,所以name变量的作用域就是在f1函数内部 var name = "hello"; console.log(name); // 可以访问到name变量 console.log(age); // age是全局作用域中声明的变量,所以在f1函数内部也可以访问 } console.log(age); // 此处可以访问 console.log(age); // 此处不可以访问name,因为name变量在函数f1内部声明的,属于局部变量,所以在全局作用域中无法访问。 作用域链

PHP小技巧之JS和CSS优化工具Minify的使用方法

我怕爱的太早我们不能终老 提交于 2019-12-23 19:59:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、实现合并和压缩多个JS和CSS文件的代码 HTML: <link rel="stylesheet" type="text/css" href="cssmin.php? get=base,style1,style2,global&path=css/&v=20131023 " /> <script type="text/javascript" src="jsmin.php? get=jquery-1.6.4.min.js,minjquery.js,minjquery.ui.js,test.js,global.js&path=js/&v=20131023 "></script> PHP: 代码如下 //输出JS header ("Content-type:Application/x-javascript; Charset: utf-8"); if(isset($_GET)) { $files = explode(",", $_GET['get']); $str = ''; foreach ($files as $key => $val){ $str .= file_get_contents($_GET['path'].$val); } $str = str_replace("\t", "", $str); /

JS/HTML 保存图片到本地:HTML <a> download 属性

不打扰是莪最后的温柔 提交于 2019-12-23 19:00:00
JS如何保存图片到本地呢?自己百度一下吧! 这里想要说的是,可以利用 HTML 的 <a> 标签 来是实现保存图片到本地的功能,参考代码如下: 1 2 3 < a href="http://wx.qlogo.cn/mmopen/ajNVdqHZLLDR2d0sYTtWb0ev4IRnQlM3z2NrD9kicibwMJYXWnwZIjxVo8uAeqdM7QB2WqjLWYBx1OSrOp8zpLbI5Y2VIibOKo2eclJVJcqd8k/0" download="思考中的猪.jpg"> < img src="http://wx.qlogo.cn/mmopen/ajNVdqHZLLDR2d0sYTtWb0ev4IRnQlM3z2NrD9kicibwMJYXWnwZIjxVo8uAeqdM7QB2WqjLWYBx1OSrOp8zpLbI5Y2VIibOKo2eclJVJcqd8k/0" /> </ a > 这就不用写 js 方法咯,但是会有不兼容的问题,当前好像只支持 Chrome 和 Firefox 浏览器,对于 IE 该怎么办呢? 那就需要 在你页面的 <head></head> 部分引入这个js文件了 1 <script src=”http: //html5shiv.googlecode.com/svn/trunk/html5.js”></script> 务必请放在