【问题标题】:Html Target Attribute not supported不支持 HTML 目标属性
【发布时间】:2010-12-09 15:02:46
【问题描述】:

我刚刚在 w3Schools 上查看 target,发现它不再被任何主要浏览器支持。一个简短的谷歌搜索并没有揭示原因?我应该避免一起使用目标吗?

【问题讨论】:

  • 好问题。我一直使用目标。我们的替代方案是什么?
  • 其实最好还是完全避免使用w3schools
  • @Gareth 为什么会这样。我发现它是一个非常好的 html 和 css 资源
  • 虽然 W3Schools 糟糕,但我怀疑他们是否会在任何地方提出这样的要求。请提供链接。只有当您无法发现错误的地方时,它们才会成为一个很好的资源。

标签: html target


【解决方案1】:

target 属性被所有浏览器支持。

它已从 HTML4 Strict 和 XHTML 1 Strict 中删除,因为它们不允许框架,并且因为强制用户打开新窗口并不总是好主意(例如,新窗口中的后退按钮将被禁用,这会使一些人感到困惑用户)。

target 已添加回 HTML5。您可以使用它,但不要滥用它。

如果您想在具有长表单的页面上的新窗口中打开帮助页面是可以的(您不希望用户丢失表单的内容),但是希望强制在新窗口中的每个链接是不行的它会让你的页面更难离开。

并且请不要通过使用脚本打开新窗口来尝试作弊验证器。它给用户带来了同样的负面影响(如果禁​​用 JS 时它会中断,甚至更糟),但比target 更难检测和控制。

顺便说一句:请不要将 W3Schools 视为权威。他们与 W3C 没有任何关系,而且他们的教程经常包含错误。

【讨论】:

    【解决方案2】:

    它曾短暂地从 html5 中取出,但他们将其放回原处。请随意继续使用它,因为所有浏览器都应该支持它。

    http://www.w3schools.com/tags/tag_a.asp ...你会看到那里仍然支持目标属性。

    【讨论】:

      【解决方案3】:

      在常规 HTML 和过渡 xHTML 中仍然允许,但在严格的 xHTML 中不再允许。这背后的想法是用户喜欢自己选择如何打开链接,而不是被浏览器强加给他们。

      【讨论】:

        【解决方案4】:

        所有主流浏览器仍然支持 标签目标属性 (@w3schools)。

        【讨论】:

          【解决方案5】:

          大多数主流浏览器都支持它。它只是不属于 W3C 严格的 HTML 规范的一部分。但是,即使使用严格的文档类型,浏览器也会实现它。这个事实有时被用来用 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】:

            我去了 w3School,发现 HTML5 中不再不推荐使用目标属性。

            【讨论】:

              【解决方案7】:
              $(function () {
                  $("a").attr("target","_blank");
              });
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2022-10-21
                • 1970-01-01
                • 2020-06-08
                • 2017-07-15
                • 2013-01-01
                • 2021-07-15
                相关资源
                最近更新 更多