我知道大多数链接应该留给最终用户来决定如何打开,但我们不能否认有时您几乎“必须”强制进入新窗口(例如以表单形式维护数据)在当前页面)。
我想知道的是关于在新浏览器窗口中打开链接的“最佳”方式的共识是什么。
我知道<a href="url" target="_blank">
出来了。我也知道<a href="#" onclick="window.open(url);">
由于多种原因并不理想。我也尝试过用类似的东西完全取代锚点<span onclick="window.open(url);">
然后将 SPAN 设置为看起来像链接的样式。
我倾向于的一种解决方案是<a href="url" rel="external">
并使用 JavaScript 将标记为“外部”的锚点上的所有目标设置为“_blank”。
还有其他想法吗?什么更好?我正在寻找最符合 XHTML 且最简单的方法来做到这一点。
更新:我说 target="_blank" 是不行的,因为我已经读过几个地方 http://www.sitepoint.com/article/standards-compliant-world/3/target 属性将逐步从 XHTML 中淘汰。
我正在使用你建议的最后一种方法。我添加 rel="external" 或类似的内容,然后使用 jQuery 迭代所有链接并为它们分配一个单击处理程序:
$(document).ready(function() {
$('a[rel*=external]').click(function(){
window.open($(this).attr('href'));
return false;
});
});
我发现这是最好的方法,因为:
- 语义上非常清楚:您有一个指向外部资源的链接
- 它符合标准
- 它会优雅地降级(您与常规的链接有一个非常简单的链接)
href
属性)
- 它仍然允许用户中键单击链接并在新选项卡中打开它(如果他们愿意)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)