在HTML5中使用target =“ _ blank”可以吗?

2020/10/26 01:42 · javascript ·  · 0评论

我记得在某处阅读过,在HTML5中不再可以target="_blank"在HTML5中使用,但现在找不到了。

可以继续使用target="_blank"吗?

我知道通常认为这是一个坏主意,但这是通过最简单的方法为PDF之类的东西打开新窗口的方式,并且它也不需要您依赖JavaScript。

看起来target="_blank"还是可以的。最新的HTML5草案它作为浏览上下文关键字列出

可以使用target="_blank"; 在XHTML中已经取消了此操作,因为在大多数浏览器中定位新窗口始终会弹出弹出警报。XHTML将始终在验证中显示target属性的错误。

HTML 5带回了它,因为我们仍在使用它。这是我们的朋友,我们不能放手。

绝不放手。

虽然target="_blank"在HTML5可以接受的,我个人从来没有尝试使用它(即使是在新窗口中打开PDF文件)。

HTML应该定义含义和内容问问自己:如果属性被删除元素含义a改变target吗?” 如果不是,则代码不应包含在HTML中。(实际上,我很惊讶W3C保留了它……我想他们真的不能放手。)

浏览器行为,特别是与用户的交互行为,应使用JavaScript等客户端脚本语言来实现。由于您希望浏览器以特定方式运行,即打开一个新窗口,因此应使用JS。但是正如您提到的,此行为要求浏览器依赖JS。(尽管如果您的网站正常降级,逐步提高或以其他方式出现,那么它还是可以的。禁用JS的用户不会错过太多。)

话虽如此,这些都不是正确的答案。那里的某个观点认为,链接的打开方式应最终由最终用户决定举这个例子。

您正在浏览Wikipedia,越来越深入到兔子洞中。您在阅读中遇到一个链接。

假设您想快速浏览链接页面,然后再返回。您可能会在新标签页中将其打开,然后在完成后将其关闭(因为点击“后退”按钮并等待页面重新加载花费的时间太长)。或者,如果它看起来很有趣并且您想要将其保存以备以后使用呢?也许您应该改为在新的背景标签中打开它,并继续阅读当前页面。或者,也许您决定已经阅读完此页面,因此只需单击当前选项卡中的链接即可。

关键是,您拥有自己的工作流程,并且希望浏览器相应地运行。如果它为您做出了这样的决定,您可能会感到非常沮丧。

THAT being said, web developers should make it absolutely clear where their links go, what types and/or formats of sources they reference, and what they do. Tooltips can be your friend (unless you're using a tablet or phone; in that case, specify these on the mobile site). We all know how much it sucks to be taken somewhere we weren't expecting or make something happen we didn't mean to.

这是打开PDF之类的新窗口的最简单方法

这也是惹恼非Windows用户的最简单方法。在其他平台上的浏览器中打开PDF很好。打开新窗口还会弄乱导航历史,并使在智能手机等较小平台上的事情变得复杂。

不要仅因为Windows的旧版本已损坏而打开PDF之类的新窗口。

大多数Web开发人员target="_blank"仅在新标签中打开链接。如果target="_blank"仅用于在新选项卡中打开链接,则它容易受到攻击者的攻击。当您在新标签页(target="_blank")中打开链接时,在新标签页中打开的页面可以访问初始标签页并使用window.opener属性更改其位置

JavaScript代码:

window.opener.location.replace(malicious URL)

预防:

rel="nofollow noopener noreferrer"

有关属性值的更多信息。

虽然target在HTML5中仍然可以接受,但不是首选。要链接到PDF文件,请使用download属性而不是target属性。

这是一个例子:

<a href="files/invoice.pdf" download>Invoice</a>

如果原始文件名编码用于唯一文件存储,则可以通过为download属性分配一个值来指定用户友好的下载名称:

<a href="files/j24oHPqJiUR2ftK0oeNH.pdf" download="invoice.pdf">Invoice</a>

请记住,尽管大多数现代浏览器都支持此功能,但有些浏览器可能不支持。有关更多信息,请参见caniuse.com

确实是!

http://www.w3.org/TR/2010/WD-html5-20100624/text-level-semantics.html#the-a-element

我认为不推荐使用target属性而<link>不是元素,<a>这可能就是为什么您听说不再使用它的原因了。

您可以使用jquery通过以下方式进行操作,这将在新窗口中将其打开:

<input type="button" id="idboton" value="google" name="boton" /> 

<script type="text/javascript">
    $('#idboton').click(function(){
        window.open('https://www.google.com.co');
    });

</script>
本文地址:http://javascript.askforanswer.com/zaihtml5zhongshiyongtarget-_-blankkeyima.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!