我刚刚在w3Schools上查看目标,发现任何主流浏览器都不再支持它。一个简短的谷歌搜索没有透露这个原因?我应该一起避免使用目标吗?
答案 0 :(得分:9)
target
属性 。
它已从HTML4 Strict和XHTML 1 Strict中删除,因为它们不允许使用帧,并且因为强制用户使用新窗口并不总是好主意(例如,新窗口中的后退按钮将被禁用,这会让一些人感到困惑用户)。
已在HTML5中添加 target
。您可以使用它,但不要滥用它。
如果您想要在具有长格式页面的新窗口中打开帮助页面(您不希望用户丢失表单的内容),这是可以的,但是在新窗口中强制希望每个链接都不行它会让你的页面更难离开。
请不要使用脚本打开新窗口来尝试作弊验证器。它给用户带来了相同的负面影响(如果在禁用JS时它会中断,则更糟糕),但比target
更难检测和控制。
答案 1 :(得分:7)
它被简单地从html5中删除了,但是他们把它重新插入。随意继续使用它,因为所有浏览器都应该支持它。
请参阅http://www.w3schools.com/tags/tag_a.asp ...您会在那里看到目标属性。
答案 2 :(得分:1)
它仍然允许使用常规HTML和过渡xHTML,但不再使用严格的xHTML。这背后的想法是用户喜欢自己选择如何打开链接,而不是让浏览器强迫它们。
答案 3 :(得分:0)
< a>所有主要浏览器(@w3schools)仍然支持标记目标属性。
答案 4 :(得分:0)
我去了w3School,我发现在HTML5中不再弃用目标属性。
答案 5 :(得分:0)
大多数主流浏览器都支持 。它不是W3C严格的HTML规范的一部分。但是,即使使用严格的doctype,浏览器也会实现它。这个事实有时用于模拟JavaScript的行为,同时保持HTML仍然有效:
<a href="http://www.google.com" rel="external">This is an external link</a>
和
var links = document.getElementsByTagName('a');
for(var i=0, len=links.length; i<len; i++){
var a = links[i];
if(a.getAttribute('href') && a.getAttribute('rel')=='external'){
a.target='_blank';
}
}
在过渡性文档类型中,不需要解决方法。
答案 6 :(得分:0)
$(function () {
$("a").attr("target","_blank");
});