摘要: 一个朋友在该站点做文档编写工作... 很无私的工作.来自官方的介绍:W3help.org是由国内多家关注Web标准的公司、团体、标准组织,及科研单位等共同创立的Web标准推广网站。我们创办该网站的目的是为了促进Web标准技术在国内业界的应用和推广,提供跨浏览器开发资源,推动国内Web环境与国际标准的接轨,最终实现国内Web的标准化。我们真诚欢迎国内业界同仁一起加入到推广Web标准的事业中来。介绍下.各位写文档的大牛们:----孙东国  现任 w3help.org 总编,负责编写 WEB 前端跨浏览器开发的各类技术文档。接触 WEB 开发十余年,实际前端开发经验五年以上,精通 HTML/CSS/阅读全文
posted @ 2010-11-15 12:19 Franky 阅读(2645) 评论(5) 编辑
摘要: 抱歉几年不写blog. 厚着脸皮 求人 : 前端 , node , php ,golang ,dba ,op, qa. 求私信. 求交流. 求缘分. 或邮件 qjy1111@hotmail.com阅读全文
posted @ 2016-07-07 17:24 Franky 阅读(215) 评论(0)  编辑
摘要: 我们先从阿灰 的蛋疼的例子开始.demo1: function test() { var x = 1; with ({x: 2}) { eval('function foo() { console.log(x); }'); eval('var bar = function() { console.log(x); }'); } foo(); bar(); } test();大多数按照ES5实现的引擎(除了Opera12-)的结果. 打印的都是 两个2 .我必须先强调下.这个结果,按照标准是错的. 按照标准都应该是 1 , 2 . Opera12- 会打印两个1 .阅读全文
posted @ 2012-12-13 01:16 Franky 阅读(4001) 评论(12) 编辑
摘要: 这篇并没有整理完. 提前放出,是因为有朋友关心这部分.我就尝试抛砖引玉吧. 暂时实在没精力把 这部分的标准翻译完整. 放在这里算是督促下自己,尽快写完吧.我建议您, 只要简单看看最后面的总结部分即可.. 因为前面只是我对草案的简单翻译 和个人理解.难免有错漏之处.如果您看的话,建议仅供参考,我无法保证期准确性.另外,此文再我的evernote中.大概是今年2月份左右. 现在可能草案有新的改动.也请留意.当前浏览器支持情况:IE10? (至少,似乎 IE10 pp2还不支持. 但是 caniuse上列出的是有支持的.也许是那个win8上的update会有吧?)Opera10.6+Safari4.阅读全文
posted @ 2012-11-23 10:35 Franky 阅读(7982) 评论(2) 编辑
摘要: 原题地址:http://www.cnblogs.com/ziyunfei/archive/2012/10/04/2711370.html有兴趣的同学可以去做一做.本帖为,本人给出的答案贴.并非原作者给出答案. 仅供参考. 欢迎讨论.1. TypeError原因: Function.prototype.toString不是一个通用方法,这意味着,该方法被调用时,其this,如果不是一个函数对象,则要抛出TypeError异常.2. TypeError.原因: new String(expression);是需要对expression 解释执行,并对其结果进行 内部ToString运算. 其调用栈阅读全文
posted @ 2012-10-04 15:17 Franky 阅读(4368) 评论(2) 编辑
摘要: 此问题相关信息(我不放在最前面,似乎有些朋友会找不到的样子.)IE10+, Safari5.17+, Firefox4.0+,Opera12+, Chrome7+已经按新标准实现. 所以就没有这个问题了.参考标准 :http://www.w3.org/html/ig/zh/wiki/HTML5/tokenization 新标准明确提到,如果实体后面遇到的不是;且下一个是= 那么就不处理的.就是为了解决这个坑爹的问题的.我们来看demo :<a href="http://www.baidu.com?a=1&reg=2&reg_a=3" >悲剧<阅读全文
posted @ 2012-09-28 02:13 Franky 阅读(5375) 评论(4) 编辑
摘要: 我们先从一组 用例说起. 看代码: null > 0 // false null == 0 // false null >= 0 //true 我们今天讨论的主要内容,并不是这个结果可能看起来多么奇怪. 而是为什么会这样. 之所以特别记一篇随笔在这里,主要是因为,我在得到了Brendan Eich 的一些确认后.发现答案和我当初的猜测不一样. 所以我有反省,自己对ES的一些理解上,是不是有些偏主观. 开始前,我们先拿ES3,ES5的相关定义说起: 注1 : ES3,ES5对关系运算符 ">" , "<", ">=&阅读全文
posted @ 2012-09-26 14:38 Franky 阅读(4492) 评论(7) 编辑
摘要: 本文是对上一篇随笔凑凑热闹,给eval做个科普.的扩展阅读.如果您没看过上一篇,我建议您先去看看,然后再看此篇. thx.此篇,大量引入ES5 的概念以及名词. 实属无奈,因为直接调用概念来自ES5. 如果你觉得阅读这些东西有些浪费时间. 我也尝试给一个白话文的解释.ES5设计直接调用的目的就是, 让eval 有改变eval动态执行代码的scope 为global object的这一能力. 但是很不好的是.他们通过直接调用来实现这种,很抽象的概念来实现这个能力. 而后面那些官方咒语般的描述的本质,其实是想说明一层意思 . 就是 , 如果你的语句里 ,eval 是一个看起来独立调用, 不转借它人阅读全文
posted @ 2012-08-18 04:50 Franky 阅读(3257) 评论(8) 编辑
摘要: 此篇.本来想多写些测试用例. 但是因为 阿灰,已经做了很多测试.所以就做个科普吧.eval是什么.我个人觉得eval最初的设计,就是一个内置函数.提供一个动态执行代码的接口. 所以ES3上对他的描述就是如此简单. 这里为了描述清楚ES3对 eval code的规范.所以我不得不拿出一大段来解释这些东西.ES3 :.Eval Code : 当控制器进入一个eval code 的执行环境时,前一个(eval函数调用代码所处的)执行环境,作为调用环境(calling context,调用环境),用以决定作用域链.变量对象,及this关键字的值 如果没有调用环境,则作用域链、变量对象、...阅读全文
posted @ 2012-08-16 03:44 Franky 阅读(4399) 评论(9) 编辑
摘要: 此篇,探讨的是一种可以让脚本自己更新自己缓存副本的能力. 因为上一版本,绝大多是朋友,给我的反馈是看不懂,所以我争取在这个重写的版本中.详细把每个细节都介绍一二. 如果大多数细节,都是您了解的,则跳跃性阅读即可. thx. 另:本文讨论的 方案,在国内的网络环境.很难实施. 仅仅是一种探讨 .此篇内容非常多. 感谢您的宝贵时间,希望能耐心看完. 关于缓存在开始之前,不得不提到 "web缓存".如果您对它有充分理解,请直接跳过. 我们可以简单的理解下什么是资源文件的缓存, 比如一个页面中引入了一个脚本 a.js ,这个文件的内容可能不会经常变化. 所以每次打开这个页面, 如果阅读全文
posted @ 2012-07-05 02:02 Franky 阅读(14279) 评论(21) 编辑
摘要: bug1描述:IE6部分版本,某些情况下,开启gzip的资源,会不渲染或不执行(如果是.js的话.)会引发此bug的条件:1. 首先,必须由a页跳转到b页面 : 即 a页面有 location.href = b页面.(点链接,form post,replace, assign等方式都会导致问题,包括target=_blank弹窗的情况)2. b页面自身,或使用动态创建脚本(硬编码script src=xxx 也存在此问题)的响应头中包含下面情况: cache-control 包含下列伪指令: (1) no-store (2) no-cache + 其他与缓存新鲜度检验有关头共存时...阅读全文
posted @ 2012-04-28 15:28 Franky 阅读(4626) 评论(2) 编辑