随笔分类 -  javascript

摘要:今天再次谈起window.open是因为发现了一个比较好玩的小技巧,详细内容我们稍后详细说明。 聊到window.open,不得不说明一下他的使用方法,主要有两种形式:window.open()没有任何参数,这种方式可以新标签打开页面window.open(url, name, pars),带... 阅读全文
posted @ 2015-08-16 21:02 黑MAO 阅读(2917) 评论(9) 推荐(0) 编辑
摘要:有些时候,我们需要在网页上,增加一些快捷按键,方便用户使用一些常用的操作,比如:保存,撤销,复制、粘贴等等。 下面简单梳理一下思路: 我们所熟悉的按键有这么集中类型:单独的按键操作,如:delete、up、down等两位组合建,如:ctrl(cmd)+ 其他按键,alt+其他按键,shift... 阅读全文
posted @ 2015-08-09 19:59 黑MAO 阅读(41624) 评论(0) 推荐(3) 编辑
摘要:主要内容什么是XSS?XSS的危害有哪些?常见的XSS漏洞如何防范XSS?什么是XSS?跨站脚本攻击(Cross Site Scripting),是一种 Web 应用程序的漏洞,当来自用户的不可信数据被应用程序在没有验证以及反射回浏览器而没有进行编码或转义的情况下进行了处理,导致浏览器引擎执行了代码... 阅读全文
posted @ 2015-07-25 22:53 黑MAO 阅读(5397) 评论(1) 推荐(3) 编辑
摘要:今天所提到的就是一个关于分页逻辑的思考过程,是众多分页方式的一种,这里简单整理一下我的思考过程。 首先,确定一种分页的模式,现在线上使用的风格种类也比较多。这里我确定的具备下面的特点: 1.具有上一页、下一页、首页、尾页 2.具备设置defaultPage页后显示省略号 3.具备... 阅读全文
posted @ 2015-06-19 14:09 黑MAO 阅读(3163) 评论(5) 推荐(2) 编辑
摘要:上回提到,由于需要使用代理页面解决POST请求的跨域请求,需要在代理页面上执行传递的函数。所以我们做了白名单只有我们认可的回调函数才能在页面上执行,防止执行非法的JS方法,做脚本攻击。 我们所采用的方式是,把白名单以及过滤方法单独提出作为单独的文件引入页面,然后进行使用(这就为新的漏洞提供了机... 阅读全文
posted @ 2015-06-07 21:12 黑MAO 阅读(2330) 评论(4) 推荐(3) 编辑
摘要:之前讨论过,在解决post跨域请求时,采用iframe+本域代理页的形式,兼容性(当然是包括IE6啦)是最好的。上次提到,代理页面的作用是:执行本域下的回调函数。就是这个原因,给XSS带来了便利。详细说明,请参考一个跨域请求的XSS漏洞 上次也提到,解决这个问题的根本在于杜绝不合法的函数在页面... 阅读全文
posted @ 2015-05-09 17:49 黑MAO 阅读(1151) 评论(0) 推荐(0) 编辑
摘要:场景回顾 一个表单进行跨域提交的方式有很多,我们使用的采用隐藏iframe,在本域下放一个代理页面,通过服务端配合完成一次完整的请求。 首先,部署proxy.html代理页面。这个页面处理服务端返回的数据,并执行接口的回调函数。接口请求成功后,返回的是: proxy页面,解析服务端传回的参数... 阅读全文
posted @ 2015-04-11 20:34 黑MAO 阅读(3723) 评论(1) 推荐(2) 编辑
摘要:说起运算符,基本上各类编程语言中都会涉及,使用方法大同小异。今天在这里以javascript做简单的整理。总得来说运算符还是比较的多,大致可以分为以下几种类型:一元运算符位运算符布尔运算符乘性运算符加性运算符关系运算符等性运算符条件运算符赋值运算符逗号运算符可以说只要学习过变成语言对这些运算符应该是... 阅读全文
posted @ 2015-03-15 21:35 黑MAO 阅读(1107) 评论(0) 推荐(2) 编辑
摘要:年前也做了一些东西,由于过年只顾疯了,也没有整理,年后补上把~ 今天整理一下个phantomjs截图实践中遇到的问题。 最近做的一个项目,需要在首页展示已经做的一些项目的缩略图,方便在查找的时候,更方便的知道这个项目是一个什么样的页面。本身使用的thinkjs写的系统,所以找到了使用pha... 阅读全文
posted @ 2015-03-02 16:35 黑MAO 阅读(6210) 评论(0) 推荐(0) 编辑
摘要:背景 支持的业务需要做客户端的页面嵌入,并且此类页面大部分是单页应用。为了能够是组内的人都能快速的入手,并且可以分工开发,制订了这么一个规范,主要做的就是能够快速入手,便于分工协作;另一方面清晰的思路便于查找问题。 为什么要做分离? 我们知道一个网页的展示,离不开一下部分:UI(包括结构和... 阅读全文
posted @ 2015-01-09 14:58 黑MAO 阅读(2655) 评论(3) 推荐(15) 编辑
摘要:背景 一个经典的问题,先抛出来给大伙看看: var a = "黑MAO";var b = a;var c = new Object();var d = c;a = "新黑MAO";c.age = 24;//打印出结果是怎么样的呢?console.log(a, b, c, d); 上面先把问题出来... 阅读全文
posted @ 2014-12-25 21:42 黑MAO 阅读(2185) 评论(0) 推荐(1) 编辑
摘要:在前端开发过程中,难免和服务端产生数据交互。一般情况我们的请求分为这么几种情况:只关注发送,不关注接收不仅要发送,还要关注服务端返回的信息同域请求跨域请求 上面提到了一个概念,我们这里简单做一下讲解。什么叫做跨域?一般情况下,跨域分为三种情况:跨协议、跨子域、跨域名。下面距离梳理一下这三种情况... 阅读全文
posted @ 2014-11-16 17:16 黑MAO 阅读(3582) 评论(9) 推荐(3) 编辑
摘要:在做一个新项目时,需要一个新浪和微信的分享功能,起初看到这个需求,感觉没有什么,直接使用第三方比较成熟的分享组件就可以的,比如:jiathis、百度分享组件,这些都可以很轻松并且方便的完成所需要的分享任务。一般情况下,在介绍这么多之后,总要有一个但是。这次也不例外,考虑到某种原因,公司不能使用第... 阅读全文
posted @ 2014-10-21 19:27 黑MAO 阅读(1286) 评论(3) 推荐(3) 编辑
摘要:工作之余,总想做点什么有意思的东西。但是苦于不知道做什么,也就一直没有什么动作。在一个午饭后,跟@jedmeng和@墨尘聊天过程中,发现可以写一些小东西来练练手,有以下几点好处: 1. 加强巩固前端相关知识 2. 可以用一些平时项目中想用但没用的新东西 3. 一块儿做相同的东西,可以分享各... 阅读全文
posted @ 2014-07-25 17:26 黑MAO 阅读(1379) 评论(5) 推荐(4) 编辑
摘要:背景:一个人出生在2014年的正月初一,他的生肖到底是属蛇还是属马呢?这就要确定那一天才是一年的开始。是春节还是立春?每年的春节是正月初一,但是生肖必须是从立春日开始计算。春节是1912年孙中山先生废除旧历,采用公元纪年之后的1914年,时任民国大总统的袁世凯颁布法令,每年的正月初一是春节,在此... 阅读全文
posted @ 2014-07-19 11:15 黑MAO 阅读(3189) 评论(1) 推荐(0) 编辑
摘要:在前端开发过程中,会用到本地缓存,但是由于浏览器对不同规范支持的程度不一样,每次进行使用都要为兼容行花费不少时间。我整理了一个本地存储的组件。 组件特点:可以配置使用localStorage、sessionStorage、cookie、Object,IE低版本支持userData统一的使用接口... 阅读全文
posted @ 2014-07-05 22:45 黑MAO 阅读(1493) 评论(6) 推荐(6) 编辑
摘要:首先了解一下什么是事件?事件是web浏览器通知应用程序发生了什么事情。我们可以通过一些方式注册事件用来监听一些我们需要处理的事件。事件包含一下一些属性: 事件类型:用来说明是什么类型事件的字符串 事件处理程序:监听了某个事件想让他做的事情 事件对象:特定的事件类型,有不同的属性 事件传播... 阅读全文
posted @ 2014-06-08 12:18 黑MAO 阅读(861) 评论(1) 推荐(0) 编辑
摘要:我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子: var x = 10; var foo = { x: 20, bar: function() { a... 阅读全文
posted @ 2014-05-31 14:56 黑MAO 阅读(639) 评论(0) 推荐(0) 编辑
摘要:正如我们了解的一样,当我们书写了JS程序之后,打开浏览器,我们的代码就可以开始运行了(当然保证你的代码没有问题,才能按照你的预期进行执行)。刚才说的是JS执行的一个大的环境,今天我们学习一下,JS在解析器里的一个执行过程。 这个过程分为两个阶段:进入执行上下文执行代码 变量对象的变化,和这两... 阅读全文
posted @ 2014-05-25 12:18 黑MAO 阅读(2475) 评论(0) 推荐(6) 编辑
摘要:有时候,我们想通过JS实现一个的新开标签的效果,此时我们想到了window.open方法实现。那么window.open到底应该怎么使用呢?我们知道window.open可以新开窗口或标签页(这通常和浏览器的设置选项有关),载入指定的URL到新的或已存在的窗口中,并返回代表那个窗口的window对象... 阅读全文
posted @ 2014-05-18 12:55 黑MAO 阅读(8994) 评论(0) 推荐(0) 编辑