June 9th, 2009IE的怨念

— 因为写网页发现很多不兼容的郁闷的地方……

1. 数组声明

var a = {a: 1, b:2, c:3, }

注意最后一个”,”, 这样写在ie里是会报语法错误的……

2. 上面的例子, 如果没有初始化列表的最后一个逗号在ie中是可以的, 但是下面的呢?

var params = {class : “main”, a : 1};

在网页里写下这样的代码, 然后拿到ie里运行, 貌似没看出啥问题(我用的IE7), 可是你会发现你的代码为啥总没执行呢? 于是一行一行的删除代码, 最后n长时间过后总算发现是这行代码的问题, 可是为啥呢? 仔细看看, 貌似这里特别的地方就是在初始化列表里的class是一个关键字 — 是的, 就是它了, 对于有这种关键字的初始化列表是要加上双引号的, var paramrs = {“class” : “main”,  a : 1};, 这个问题很恼人 — 你支持{a : 1};为啥就不支持{class : 1};总感觉这里的实现像是半个残废.

3. css兼容性的问题, 太多了…… 导致看到好好的东西到了ie下就是不中啊, display:table-cell 在ie8之前的版本里不支持, 我哭.

4. 再另外像inject <tr> 到<table>里不工作, 必须得先把<tr> inject<tbody>里才行, 用的是mootools, 但估计也是IE的问题导致的, 反正是有了怨念, 就把这个也算到它的头上吧.

May 15th, 2009ie css selector issue

最近写了一些html, 遇到一个很郁闷的问题, 大致是下面的, 我写了一些链接, 大致如下:

<a class="actionlink" onclick=’myfunction(this);'>mylink</a>

为它写了一个css, 如下:

a.actionlink {

    display:block;

    text-decoration: none;

    color:  #62C2CC;

    outline: none;

    }

a.actionlink:hover {

    display:block;

    color: blue;

    text-decoration: underline;

    }

a.actionlink:visited {

    display:block;

    color:  $62c2cc;

    }

a.actionlink:active {

    display:block;

    color:  red;

    }

链接在firefox下面显示的完全正常, 可是在ie7/8下却死活无法正常显示在鼠标移上去时的颜色, 网上找了很久, 看到一些相关的ie8的bug, 像css selector的问题, 这里有一个列表, 本来以为其中的一个css子对象选择符的bug是这个有关, 但是我已经把它改成了直接的类, 所以应该不是那个问题.

两天郁闷的尝试都没有成功, 今天再看相关的文档, 在看到选择符的时候, 偶然看到这么一句:

The document language determines which elements are hyperlink source anchors. For example, in HTML4, the link pseudo-classes apply to A elements with an "href" attribute. Thus, the following two CSS 2.1 declarations have similar effect:

a:link { color: red }
:link  { color: red }
这回忽然注意到其中红色的部分, 难道真和这个有关? 于是试着加上href="#", 之后, 果然一切都好了!……
<a href=”#” class="actionlink" onclick=’myfunction(this);'>mylink</a>

© 2007 pangwa's Blog | iKon Wordpress Theme by Windows Vista Administration | Powered by Wordpress