Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 有没有一种优雅的方式可以在一个可以重复使用的新选项卡中打开外部链接?_Html_Javascript_Hyperlink_Anchor - Fatal编程技术网

Html 有没有一种优雅的方式可以在一个可以重复使用的新选项卡中打开外部链接?

Html 有没有一种优雅的方式可以在一个可以重复使用的新选项卡中打开外部链接?,html,javascript,hyperlink,anchor,Html,Javascript,Hyperlink,Anchor,以下是我目前正在做的事情: <script> var win; function OpenInNewTab(url ) { // var win; if (win) { win.close(); } win =window.open(url, 'myWin'); win.focus(); } </script> 瓦尔温; 函数OpenInNewTab(url) { //瓦尔温; 如果(赢) { win.close(); } win

以下是我目前正在做的事情:

<script>
var win;
function OpenInNewTab(url )
{
  // var win;
  if (win)
  {
     win.close();
  }
  win   =window.open(url, 'myWin');
  win.focus();
}
</script>

瓦尔温;
函数OpenInNewTab(url)
{
//瓦尔温;
如果(赢)
{
win.close();
}
win=window.open(url'myWin');
win.focus();
}
然后我的链接的措辞如下(为了利用Javascript函数):


  • 问题是,对于我页面上的所有URL,此解决方案无法向上扩展。这意味着我必须为每个我希望以这种方式运行的URL调用onclick。有没有一种优雅的方式来扩展这个解决方案,这样我就不必为每个链接输入“onclick”?(或者至少减少继续键入此内容所需的工作量?

    只需使这些链接具有一个正常的
    href
    值(即链接将指向的URL),并给它们一个
    rel
    属性值
    external
    ,表示您希望在新选项卡中打开它们。然后,只需对该属性值进行一个小的JavaScript代码段搜索,然后对其进行更改,以便在新选项卡中打开链接

    这很好,因为即使JavaScript被禁用或以其他方式失败,链接仍然可以工作

    <li><a href="http://www.anti-agingfirewalls.com/" rel="external">Anti-Aging Firewalls</a></li>
    
    <script>
    function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
       var anchor = anchors[i];
       if (anchor.getAttribute("href") &&
           anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
     }
    }
    window.onload = externalLinks;
    </script>
    
  • 函数externalLinks(){ 如果(!document.getElementsByTagName)返回; var archors=document.getElementsByTagName(“a”);
    for(var i=0;i很旧,但解释得很好。如果使用jQuery这样的框架,它也可以简化。

    只需使这些链接具有正常的
    href
    值(即链接将指向的URL)并给他们一个
    rel
    属性值
    external
    ,表示您希望在新选项卡中打开它们。然后只需使用一个小的JavaScript代码段搜索该属性值,然后将其更改,以便在新选项卡中打开链接

    这很好,因为即使JavaScript被禁用或以其他方式失败,链接仍然可以工作

    <li><a href="http://www.anti-agingfirewalls.com/" rel="external">Anti-Aging Firewalls</a></li>
    
    <script>
    function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
       var anchor = anchors[i];
       if (anchor.getAttribute("href") &&
           anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
     }
    }
    window.onload = externalLinks;
    </script>
    
  • 函数externalLinks(){ 如果(!document.getElementsByTagName)返回; var archors=document.getElementsByTagName(“a”);
    for(var i=0;i很旧,但解释得很好。如果使用jQuery这样的框架,它也可以简化。

    只需使这些链接具有正常的
    href
    值(即链接将指向的URL)并给他们一个
    rel
    属性值
    external
    ,表示您希望在新选项卡中打开它们。然后只需使用一个小的JavaScript代码段搜索该属性值,然后将其更改,以便在新选项卡中打开链接

    这很好,因为即使JavaScript被禁用或以其他方式失败,链接仍然可以工作

    <li><a href="http://www.anti-agingfirewalls.com/" rel="external">Anti-Aging Firewalls</a></li>
    
    <script>
    function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
       var anchor = anchors[i];
       if (anchor.getAttribute("href") &&
           anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
     }
    }
    window.onload = externalLinks;
    </script>
    
  • 函数externalLinks(){ 如果(!document.getElementsByTagName)返回; var archors=document.getElementsByTagName(“a”);
    for(var i=0;i很旧,但解释得很好。如果使用jQuery这样的框架,它也可以简化。

    只需使这些链接具有正常的
    href
    值(即链接将指向的URL)并给他们一个
    rel
    属性值
    external
    ,表示您希望在新选项卡中打开它们。然后只需使用一个小的JavaScript代码段搜索该属性值,然后将其更改,以便在新选项卡中打开链接

    这很好,因为即使JavaScript被禁用或以其他方式失败,链接仍然可以工作

    <li><a href="http://www.anti-agingfirewalls.com/" rel="external">Anti-Aging Firewalls</a></li>
    
    <script>
    function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
       var anchor = anchors[i];
       if (anchor.getAttribute("href") &&
           anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
     }
    }
    window.onload = externalLinks;
    </script>
    
  • 函数externalLinks(){ 如果(!document.getElementsByTagName)返回; var archors=document.getElementsByTagName(“a”);
    for(var i=0;i很旧,但解释得很好。如果使用像jQuery这样的框架,它也可以简化。

    为什么不在这里使用target属性


    a href=“some like here”target=“\u blank”>Google

    为什么不在这里使用target属性


    a href=“some like here”target=“\u blank”>Google

    为什么不在这里使用target属性


    a href=“some like here”target=“\u blank”>Google

    为什么不在这里使用target属性

    a href=“some like here”target=“\u blank”>Google将
    target=“\u blank”
    添加到您的锚是最简单的方法

    <a href="#" target="_blank">anchor</a>
    
    
    
    如果不想修改页面中的每个锚元素(这是脏活),可以在
    中添加
    元素:

    
    
    或者,您可以使用JavaScript在DOM ready上批量添加该属性:

    var anchors = document.getElementsByTagName('a');
    for (var i = 0; i < anchors.length; i++) {
        anchors[i].target = "_blank";
    }
    
    var-anchors=document.getElementsByTagName('a');
    对于(var i=0;i
    target=“\u blank”
    添加到您的锚是最简单的方法

    <a href="#" target="_blank">anchor</a>
    
    
    
    如果不想修改页面中的每个锚元素(这是脏活),可以在
    中添加
    元素:

    
    
    或者,您可以使用JavaScript在DOM ready上批量添加该属性:

    var anchors = document.getElementsByTagName('a');
    for (var i = 0; i < anchors.length; i++) {
        anchors[i].target = "_blank";
    }
    
    var-anchors=document.getElementsByTagName('a');
    对于(var i=0;i
    target=“\u blank”
    添加到您的锚是最简单的方法

    <a href="#" target="_blank">anchor</a>
    
    
    
    如果不想修改页面中的每个锚元素(这是脏活),可以在
    中添加
    元素:

    
    
    或者,您可以使用JavaScript在DOM ready上批量添加该属性:

    var anchors = document.getElementsByTagName('a');
    for (var i = 0; i < anchors.length; i++) {
        anchors[i].target = "_blank";
    }
    
    var-anchors=document.getElementsByTagName('a');
    对于(var i=0;i
    target=“\u blank”
    添加到您的锚是最简单的方法

    <a href="#" target="_blank">anchor</a>
    
    
    
    如果不想修改页面中的每个锚元素(这是脏活),可以在
    中添加
    元素:

    
    
    或者,您可以使用JavaScript在DOM ready上批量添加该属性:

    var anchors = document.getElementsByTagName('a');
    for (var i = 0; i < anchors.length; i++) {
        anchors[i].target = "_blank";
    }
    
    var-anchors=document.getElementsByTagName('a');
    对于(var i=0;i
    “哪个可以