- From: Dean Lee <xslidian@gmail.com>
- Date: Thu, 13 Sep 2012 21:50:19 +0800
- To: "Kang-Hao (Kenny) Lu" <kanghaol@oupeng.com>
- Cc: W3C HTML5 中文興趣小組 <public-html-ig-zh@w3.org>
再加一行: <a href="">another test</a> 在上述三款浏览器下均弹出新标签页。 从效果来看 base 标签应该影响了整个网页,与 URI 是否以 javascript: 开头无关。 2012/9/13 Kang-Hao (Kenny) Lu <kanghaol@oupeng.com>: > dh 在群裡講到了一個不兼容,就是在 > > <base target="_blank" /> > <a href="javascript:void(0);">test</a> > > 的情況,IE、FF 不彈窗,Chrome 不彈窗。所以,根據規範,到底是: > > A. IE、FF 正確 > B. Chrome 正確 > C. 規範沒講 > > 我一時沒時間去看這個部份,請人來規範解讀一下。 HTML5 草案(20120912)的 4.2.3 章节(<base> 元素)也提到 target 属性的内容 “指定了‘文档’中超链接与表单产生跳转时所用的默认浏览上下文”(粗译仅供参考): http://dev.w3.org/html5/spec/single-page.html#attr-base-target (... which specifies which browsing context is to be used as the default when hyperlinks and forms in the Document cause navigation.) 既然用了 <a>,各浏览器的分歧就是 void(0); 到底有没有产生页面跳转了。 从我常见的实作来看,void() 通常用来避免页面跳转影响 onclick 事件的触发 (个人很反感这种 href 属性),连 # 跳转也不会产生: <p style="height:120%"> </p><a href="javascript:void();">test</a> 上行代码在三款浏览器中均不会跳转至页面顶部。 因此个人认为页面跳转不会产生,Chrome 更符合最新规范——选 B 项。 Best wishes, Dean (@xslidian) > > Franky 有一篇提到這個問題的長文[1],可以參考一下(可惜沒講到規範的樣子 > :p)。 > > > > [1] http://www.cnblogs.com/_franky/archive/2012/07/05/2577141.html > > 以上 > > Kenny > -- > Web Specialist, Oupeng Browser, Beijing > Try Oupeng: http://www.oupeng.com/ >
Received on Thursday, 13 September 2012 13:51:12 UTC