虽然 target="_blank"
是在HTML5上可接受的,我个人从来没有尝试使用它(即使是在新窗口中打开PDF文件)。
HTML应该定义含义和内容。问问自己,“会的意义了的a
,如果该元素的变化target
属性被删除吗?” 如果不是,则代码不应包含在HTML中。(实际上,我很惊讶W3C保留了它……我想他们真的不能放手。)
浏览器行为,特别是与用户的交互行为,应使用JavaScript等客户端脚本语言来实现。由于您希望浏览器以特定方式运行,即打开一个新窗口,因此应使用JS。但是正如您提到的,此行为要求浏览器依赖JS。(尽管您的网站正常降级或逐步升级,或以其他方式出现,那么它仍然可以。禁用了JS的用户不会错过太多。)
话虽这么说,这些都不是正确的答案。那里的某个观点认为,链接的打开方式应最终由最终用户决定。举这个例子。
您正在浏览Wikipedia,越来越深入到兔子洞中。您在阅读中遇到一个链接。
假设您想快速浏览链接页面,然后再返回。您可能会在新标签页中将其打开,然后在完成后将其关闭(因为点击“后退”按钮并等待页面重新加载花费的时间太长)。或者,如果它看起来很有趣并且您想要将其保存以备以后使用呢?也许您应该改为在新的背景标签中打开它,并继续阅读当前页面。或者,也许您决定已经阅读完此页面,因此只需单击当前选项卡中的链接即可。
关键是,您拥有自己的工作流程,并且希望浏览器相应地运行。如果它为您做出了这样的决定,您可能会感到非常沮丧。
话虽这么说,Web开发人员应该绝对清楚他们的链接在哪里,他们引用的源的类型和/或格式以及他们的工作。工具提示可以是您的朋友(除非您使用平板电脑或手机;在这种情况下,请在移动网站上指定)。我们都知道被带到我们意想不到的地方或发生某些我们并非故意要做的事情是多么糟糕。