我知道大多数链接应该由最终用户决定如何打开,但我们不能否认有时您几乎“必须”强行进入新窗口(例如维护数据在当前页面的表单中)。
我想知道的是,对于在新浏览器窗口中打开链接的“最佳”方式达成的共识是什么。
我知道<a href="url" target="_blank">
出来了。我也知道 <a href="#" onclick="window.open(url);">
由于各种原因并不理想。我还尝试用 <span onclick="window.open(url);">
之类的东西完全替换 anchor 然后将 SPAN 样式设置为看起来像一个链接。
我倾向于的一个解决方案是 <a href="url" rel="external">
并使用 JavaScript 在标记为“外部”的 anchor 上将所有目标设置为“_blank”。
还有其他想法吗?什么更好?我正在寻找最符合 XHTML 且最简单的方法来执行此操作。
更新:我说 target="_blank"是不行的,因为我读过 several places target 属性将从 XHTML 中逐步淘汰。
最佳答案
我正在使用您建议的最后一种方法。我添加 rel="external"或类似的东西,然后使用 jQuery 遍历所有链接并为它们分配一个点击处理程序:
$(document).ready(function() {
$('a[rel*=external]').click(function(){
window.open($(this).attr('href'));
return false;
});
});
我发现这是最好的方法,因为:
- 语义上很清楚:你有一个外部资源的链接
- 符合标准
- 它优雅地降级(你有一个非常简单的链接与常规
href
属性) - 它仍然允许用户中键单击链接并在他们愿意的情况下在新标签页中打开它
关于javascript - 打开新浏览器窗口的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/233467/