存档

‘Web传统技术’ 分类的存档

当前日期110年

2010年2月12日

很多网站,特别是政府网站,喜欢在页面上放置当前的时间,我最近在网上瞎逛的时候注意到,部分网站显示的日期非常诡异,居然是“110年”。我用的是Chrome,所以第一反应就是看看在IE下是不是一样——如果一个做网站的做完之后都不在IE下看一眼的话,那就太不负责任了。果然,IE下显示的是2010年,很正常。

跟了一下Javascript,发现该网站是使用getYear函数来获取当前年份。查了一下JS手册,getYear函数返回的其实是当前年份距…

Kevin Yang Web传统技术 , , , , ,

解析IE中的Javascript Error对象

2010年1月17日

之前写过一篇文章,提到怎么在各个浏览器下返回执行错误的Javascript代码所在的行数以及文件名。其中在IE下,如果你使用了try-catch,那么当出现异常的时候,浏览器会传递一个Error对象。

<script>
    try{
        sldfj
    }catch(e){
        for(var p in e){
            document.writeln(p + "=" + e[p]);
        }
    }
</script>

输出:name=TypeError m…

Kevin Yang Web传统技术 , , ,

Button标签鼠标点击事件的触发源问题

2009年11月27日

写Javascript有时候真是挺郁闷的,一听到兼容性问题就头大。好多东西看起来简简单单的,还是得拿到至少5大主流浏览器上去测试才能放心。像下面的这个例子,button标签内嵌套了一个img标签。

<body>
    <button id="test">
          <img src="http://www.google.cn/favicon.ico" />
    </button>
    &l…

Kevin Yang Web传统技术 , , ,

使用相对Url无缝切换HTTP-HTTPS

2009年9月18日

概述

在HTTPS的网站下,如果要访问HTTP资源,那么一般浏览器会弹出窗口询问用户是否允许加载不安全内容,云云。为了避免出现这样干扰用户的情况,所有网页下请求的资源都都必须是HTTPS资源。如果你的站点支持HTTP和HTTPS两种方式访问,而实际网站只有一份的话,这种情况下,你可以使用相对Url的方式改写网页内资源的请求Url。

省略Scheme的相对Url语法

Url相对路径我们并不陌生,下面这样的写法非常常见。

<img src='/…

Kevin Yang Web传统技术, 技术随笔 , , , , , , ,

文档字符集导致的脚本错误

2009年8月19日

Html页面中可以通过meta标签指定页面文档使用的字符集,这样浏览器就会根据此标签使用指定的字符集去解析文档流,而不用靠“猜”了。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

文档字符集需要对应文件实际存储使用的字符集,否则会引发很多意料不到而又难以调试的Bug。

问题1——页面显示乱码

如果文档中指定的…

Kevin Yang Web传统技术 , , , , , ,

详解Javascript中的Url编码/解码

2009年8月19日

摘要

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescape,encodeURI / decodeURI和encodeURIComponent / decodeURIComponent。

预备知识

   foo://example.com:8042/over/there?name=ferret#n…

Kevin Yang Web传统技术 , , , , ,

Javascript 中的false,零值,null,undefined和空字符串对象

2009年7月7日

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false、0、空字符串、null和undefined。这几个对象很容易用错,因此在使用时必须得小心。

类型检测

我们下来看看他们的类型分别是什么:

<script type="text/javascript">
    alert(typeof(false) === 'boolean');
    alert(typeof(0) === 'number');
    alert(typeof…

Kevin Yang Web传统技术, 技术随笔 , , , , , , ,

详解Javascript 中的this指针

2009年7月5日

前言

Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象。Javascript可以通过一定的设计模式来实现面向对象的编程,其中this “指针”就是实现面向对象的一个很重要的特性。但是this也是Javascript中一个非常容易理解错,进而用错的特性。特别是对于接触静态语言比较久了的同志来说更是如此。

示例说明

我们先来看一个最简单的示例:

<script type=&quo…

Kevin Yang Web传统技术, 技术随笔 , , ,

Javascript操纵Cookie

2009年6月11日

在讲如何使用Javascript操纵Cookie时,我们先来了解一下Cookie的基本常识。

Cookie,又称Http Cookie,是存储在客户端本地的一小段信息。我们可以简单地把Cookie理解为客户端浏览器上的一个小硬盘,我们会在上面存取一些信息,通常用作Http状态的维护,现在也经常被用作跟踪用户行为的一种常见方式。

Cookie的属性

每一个Cookie都有如下几个属性:

  • 名称   
  • 主机域
  • 路径
  • 安全级别…

Kevin Yang Web传统技术, 代码库, 技术随笔 , , ,

Javascript中获取出错代码所在文件及行数

2009年5月18日

之前在做一个Javascript的日志控制台功能模块,希望能够在Javascript代码出错时捕获此错误,并将出错的文件及相应的行数打印到控制台并汇报给服务器。原先使用的是try-catch的方式,在catch语句中,我们会收到一个Error对象(我们也可以抛出一个自定义异常对象)。Firefox中的Error对象拥有如下属性:

  • message        …

Kevin Yang Web传统技术, 代码库, 技术随笔 , , , , ,