在新标签页中打开结果(JavaScript)

时间:2018-09-30 01:26:40

标签: javascript

我得到了一个带有结果的动态页面,问题是那里出现的链接不会在新标签上打开,这是代码,但我无法对其进行排序。

我希望单击页面(链接)以在新标签上打开它,而不是直接转到网站。

顺便说一句:英语不是我的母语,我希望我能用正确的语言来形容。

   var updateResultsHtml = function() 
{
      for ( var i = 0, exists = 0, elements = []; i < results.length; i++ ) {
         exists += (statuses.success.indexOf(results[i].status) >= 0 ? 1 : 0);
         elements.push(appendChildren(createElement('div', ['class', 'col3']), [
            createElement('a', ['href', results[i].url, 'data-value', results[i].message], results[i].url.replace(/(https?\:\/\/)?(www\.)?/i, ''))
         ]));
      }
      resultsUsername.innerText   = username;
      resultsUsername2.innerText  = username;
      resultsPercentage.innerText = Math.round((exists / total) * 100) + '%';
      removeChildren(resultsParent);
      appendChildren(resultsParent, elements);
      togglePanel(resultsPanel);
   };

   var getExistence = function() {
      httpRequest('POST', 'existence.php', ['content-type', 'application/x-www-form-urlencoded'], 'index=' + index + '&username=' + username, function(data) {
         if ( index < total ) {
            ++index;
            results.push(JSON.parse(data));
            updateProccessingHtml();
            getExistence();
         }
         else {
            updateResultsHtml();
         }
      });
   };

我的另一个问题与提交按钮有关,必须单击该按钮,在这种情况下代码将无法识别Enter按钮,这将是什么变化以使其能够识别Enter并使其在Enter时也可提交按下。

submitButton.onclick = function() {
  index    = 0;
  results  = [];
  username = usernameInput.value;
  if ( username.length > 0 ) {
     window.location.href   = '//' + window.location.host + window.location.pathname + '#' + username;
     usernameInput.disabled = true;
     submitButton.disabled  = true;
     getExistence();
  }

1 个答案:

答案 0 :(得分:1)

您可以使用属性文本target属性强制超链接在新选项卡中打开。

  

目标指定在何处显示链接的URL。它是浏览上下文的名称或关键字:标签,窗口或iframe。


语法:

<a target="_blank|_self|_parent|_top|framename">


属性值

以下关键字具有特殊含义:

  • _self :将URL加载到与当前浏览上下文相同的浏览上下文中。这是默认行为。

  • _blank :将URL加载到新的浏览上下文中。通常这是一个标签,但用户可以将浏览器配置为使用新窗口。

  • _parent :将URL加载到当前URL的父浏览上下文中。如果没有父母,则其行为与_self相同。

  • _top :将URL加载到顶级浏览上下文中(即,“最高”浏览上下文是当前浏览上下文的祖先,并且没有父级)。如果没有父母,则其行为与_self相同。


修改示例以在新标签页中打开链接

您只需将target属性添加到createElement函数参数中,如下所示:

createElement('a', ['href', results[i].url, 'target', '_blank', 'data-value', results[i].message], results[i].url.replace(/(https?\:\/\/)?(www\.)?/i, ''))