Re: <base target="_black"> 與 javascript: URL

这个部分有后话否?

Charlie
发自我的 iPhone

在 2012-9-13,下午9:50,Dean Lee <xslidian@gmail.com> 写道:

> 再加一行:
> <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%">&nbsp;</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 Tuesday, 30 October 2012 04:45:26 UTC