|
大概了解 HTML 的朋友都知道,想让一个链接在新窗口中打开,通常的做法是利用 target=”_blank” 来设定 a 标签。这种做法确实比较方便,但在 XHTML 1.0 Strict 中去掉了 target 属性,也就是说我们不能再利用 target 属性来控制链接的行为。虽然当今流行的浏览器在 XHTML 1.0 Strict 甚至 XHTML 1.1 下扔能正确执行 target=”_blank”,但这样的代码毕竟是不规范的,不推荐使用。
一般的,我们会想到用 Javascript 来解决这个问题,我通常是使用下面的方法:
复制内容到剪贴板
代码:
<a href="http://blog.istef.info" onclick="window.open(this.href);return false;">Blog.istef.info</a>
这样虽然可以满足要求,但是当链接很多的时候,代码就显得有些臃肿了。为了简化代码,我们应该用 DOM Event / DHTML 的方法来解决这个问题。今天我恰好在做一个网页,需要使用 XHTML 1.0 Strict,准备自己写一个这样的 Javascript。不过幸好我养成了万事先 Google 的坏习惯,还真让我找到了一个很完善的 Javascript 弹窗代码,这段代码不仅写的漂亮,通用性强,而且还考虑到了当今流行的浏览器按下组合键点击链接的情况,已经非常完善了。代码源头在这里,作者提供了源码下载和一个演示。
这段代码的通用性非常强,作者原文中举例写的也很详细,其实最简单的用法就是为需要开新窗的链接添加 rel=”external” 属性,当然,你也可以自己定制根据 class 或其它什么属性来判断。
复制内容到剪贴板
代码:
<a href="http://blog.istef.info" rel="external">Blog.istef.info</a>
在网页设计中,一般是避免弹出新窗口的,只在可以提高用户体验的情况下才需要使用。此外,浏览器一般会会拦截 Javascript 弹出窗口,我们可以修改这段代码,通过判断窗口是否成功建立来给出关闭弹窗过滤的提示,相信可以使用户体验提升不少。 |
|